自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一日一技:你一定經(jīng)常寫出來的冗余代碼

開發(fā) 前端
有一些同學(xué)是從其它語言遷移到Python的,所以寫Python代碼的時候,還帶有其它語言的一些語法特征。于是寫出來的Python代碼包含了大量沒什么用的無效代碼。我們今天來看看常見的無效代碼有哪些。

[[398599]]

有一些同學(xué)是從其它語言遷移到Python的,所以寫Python代碼的時候,還帶有其它語言的一些語法特征。于是寫出來的Python代碼包含了大量沒什么用的無效代碼。我們今天來看看常見的無效代碼有哪些。

先定義再復(fù)制

列表和字典是重災(zāi)區(qū)。有一些人在Python里面創(chuàng)建一個元素已經(jīng)確定的列表,卻這樣寫代碼:

  1. a = list() 
  2. a.append('x'
  3. a.append('y'
  4. a.append('z'

但實際上,你可以直接一行代碼寫為:

  1. a = ['x''y''z'

初始化一個元素已經(jīng)確定的字典,有人也喜歡這樣寫代碼:

  1. a = dict() 
  2. a['name'] = 'kingname' 
  3. a['age'] = 100 
  4. a['address'] = 'xx' 

但實際上,一行代碼就可以搞定了:

  1. a = {'name''kingname''age': 100, 'address''xx'

還有些人字典的Key存入列表,是這樣寫代碼的:

  1. key_list = [] 
  2. for key in target_dict.keys(): 
  3.     key_list.append(key

但實際上,一行代碼就搞定了:

  1. key_list = list(target_dict) 

條件判斷真、假、是否為空

有些人在寫條件判斷的時候,是這樣寫的:

  1. if a == False
  2.     print('xx'
  3. if a == []: 
  4.     print('xx'
  5. if a == ''
  6.     print('xx'
  7. if a == None: 
  8.     print('xx'
  9. if a == 0: 
  10.     print('xx'

但實際上,這些判斷全部可以合并成一個:

  1. if not a: 
  2.     print('xx'

同理,對于判斷真、非空、非零的代碼:

  1. if a == True 
  2. if len(a) > 0 
  3. if a != 0 
  4. if a != None 

全部都可以合并成:

  1. if a: 
  2.     print('xxx'

稍稍有點技術(shù)含量的冗余

有些人在寫條件判斷的分支檢測的時候,是這樣寫的:

  1. for ele in target_list: 
  2.     if ele > 0: 
  3.         print('列表中至少有一個數(shù)字大于0'
  4.         return True 
  5.     else
  6.         continue 

這里的else: continue實際上沒有任何作用,完全可以刪除:

  1. for ele in target_list: 
  2.     if ele > 0: 
  3.         print('列表中至少有一個數(shù)字大于0'
  4.         return True 

列表推導(dǎo)式式我們經(jīng)常使用的一種語法糖。但Python里面,其實還有一個生成器推到式,它寫為(x for x in yyy),這里使用小括號。所以對于下面這幾行代碼:

  1. a = ['1''2''3'
  2. sum_result = sum([int(x) for x in a]) 

知道生成器推到式的同學(xué)可能會這樣寫:

  1. a = ['1''2''3'
  2. sum_result = sum((int(x) for x in a)) 

但實際上,如果一個生成器推到式作為另一個函數(shù)的唯一參數(shù),那么可以省略內(nèi)層括號:

  1. a = ['1''2''3'
  2. sum_result = sum(int(x) for x in a) 

大家也可以在評論區(qū)說說你知道的其它冗余寫法。

本文轉(zhuǎn)載自微信公眾號「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系未聞Code公眾號。

 

責(zé)任編輯:武曉燕 來源: 未聞Code
相關(guān)推薦

2024-07-30 08:11:16

2024-07-30 08:16:18

Python代碼工具

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2021-11-12 05:00:43

裝飾器代碼功能

2023-10-29 09:16:49

代碼安全命令

2021-10-15 21:08:31

PandasExcel對象

2021-04-12 21:19:01

PythonMakefile項目

2022-06-28 09:31:44

LinuxmacOS系統(tǒng)

2021-04-05 14:47:55

Python多線程事件監(jiān)控

2024-11-13 09:18:09

2022-03-12 20:38:14

網(wǎng)頁Python測試

2021-03-18 23:28:45

Python反斜杠字符串

2021-02-14 22:22:18

格式圖片 HTTP

2023-10-28 12:14:35

爬蟲JavaScriptObject

2021-03-12 21:19:15

Python鏈?zhǔn)?/a>調(diào)用

2021-09-13 20:38:47

Python鏈?zhǔn)?/a>調(diào)用

2021-04-19 23:29:44

MakefilemacOSLinux

2024-11-11 00:38:13

Mypy靜態(tài)類型

2021-07-27 21:32:57

Python 延遲調(diào)用

2021-10-03 20:08:29

HTTP2Scrapy
點贊
收藏

51CTO技術(shù)棧公眾號