3個適合初學者的Python優(yōu)秀實踐,值得擁有!
我們常常分享編程其實很簡單的文章,給大家樹立信心。
如果只是編寫簡單的程序,如果你只是想馬上完成,一天的時間即可完成。
但如果你想很快地編寫復(fù)雜,卻沒有重構(gòu)和注釋幾乎不可讀的代碼。對不起,面對現(xiàn)實吧,編碼很難。
通常這種情況下,別人不得不幫你收拾爛攤子。
因此,為了增加可讀性和可重用性,負責任的重組和記錄代碼非常重要。
這里小芯就給大家推薦3種編寫Python的好方法,它們能幫你成為更好的程序員。
1. Docstring
Docstring 是Python文檔字符串的英文縮寫。Docstring是三重雙引號 ”“”中,在所定義模塊,函數(shù),類或方法的第一個陳述。這是函數(shù)中docstring的最小示例。
- deffoo():
- """This function doesnothing."""
- passprint(foo.__doc__) # Thisfunction does nothing.
函數(shù)的文檔字符串應(yīng)包含(一行)對目的的簡短介紹,后面的段落描述了函數(shù)調(diào)用約定。樣式多種多樣,但這是我最喜歡的模板之一:
- defsum_of_squares(nums):
- """
- Compute the sum of squares of a list of numbers.
- Args:
- nums (`list` of `int` or `float`): A `list` of numbers.
- Returns:
- ans (`int` or `float`): Sum of squares of `nums`.
- Raises:
- AssertionError: If `nums` contain elements that are not floats nor ints.
- """
- try:
- ans =sum([x**2for x in nums])
- except:
- raiseAssertionError('Input should be a list of floats or ints.')
- return ans
由GitHub發(fā)起的rawdocstring.py
2. f-string(格式化字符串)
你可能習慣于使用以下命令格式化字符串,即%或者format().
- name ='World'
- 'Hello %s' % name # Hello World
- 'Hello {}'.format(name) # Hello World
拋棄它們。 一旦你需要在更長的字符串中打印多個變量,該代碼將很快變得混亂且難以理解。無論如何,這些格式化方法并不簡單。
Pythonf-string是Python 3.6的引入的改變游戲規(guī)則的工具。這是一種可讀且高級的字符串格式句法,將表達式嵌入字符串。這是通過語句f'{expr}'完成的; 其中表達式用f字符串內(nèi)的大括號括起來。表達式在開頭帶有f,位于單引號之前。
示例:
- name ='World' print(f'Hello{name}') # Hello World
可以在大括號內(nèi)寫任何在語法上有效的表達。還可以在表達式中調(diào)用函數(shù)!
- a =[1,2.2,3]
- print(f'Sum of squares of {a} is {sum_of_squares(a)}')
- # Sum of squares of [1, 2.2, 3] is 14.84
3. 命名慣例
命名事物是計算機科學中最困難的事情之一。你窮盡了所有想法。,卻不知道如何命名臨時中介變量。但你并不是唯一不會命名的人。
盡管很困難,Python中還是有一些命名慣例,來“縮小”命名變量時的選擇范圍的。它們有助于增強代碼的一致性,可讀性和可重用性。
因此,如果字母本身沒有含義的話,你不應(yīng)該再使用單個小寫字母命名所有變量,例如a, x等等。另外,您應(yīng)該使用有意義的,易于理解且容易被識別的單詞命名它們,例如用user_profile 替換掉 uspr.
以下是有關(guān)事物命名的6條提示:
- 避免使用單個字母命名事物,例如O, I, l。原因很明顯。
- 變量和函數(shù)名稱都應(yīng)該小寫。
- 變量或函數(shù)名稱中的單詞應(yīng)用下劃線 _ 分開。
- 私有變量(例如在類內(nèi)部)可能從一個下劃線開始
- 類別名稱中的單詞應(yīng)串聯(lián)并大寫,例如MarioKart。
- 常數(shù)名稱應(yīng)大寫,如 GOLDEN_RATIO。
此列表不是絕對詳盡的。命名變量可以說是編程中最難學習的內(nèi)容之一。因此,在GitHub上閱讀其他人的代碼并學習他們的命名方法,是初學者的最佳途徑。