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



























