python乾貨三例(需基礎)
我們常常分享程式設計其實很簡單的文章,給大家樹立信心。
如果只是編寫簡單的程式,如果你只是想馬上完成,一天的時間即可完成。
但如果你想很快地編寫複雜,卻沒有重構和註釋幾乎不可讀的程式碼。對不起,面對現實吧,編碼很難。
通常這種情況下,別人不得不幫你收拾爛攤子。
因此,為了增加可讀性和可重用性,負責任的重組和記錄程式碼非常重要。
這裡小芯就給大家推薦3種編寫Python的好方法,它們能幫你成為更好的程式設計師。
Docstring 是Python文件字串的英文縮寫。Docstring是三重雙引號 ”“”中,在所定義模組,函式,類或方法的第一個陳述。這是函式中docstring的最小示例。
deffoo(): """This function doesnothing.""" passprint(foo.__doc__) # Thisfunction does nothing.
函式的文件字串應包含(一行)對目的的簡短介紹,後面的段落描述了函式呼叫約定。樣式多種多樣,但這是我最喜歡的模板之一:
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發起的rawdocstring.py
你可能習慣於使用以下
格式化字串,即%或者format().
name ='World' 'Hello %s' % name # Hello World 'Hello {}'.format(name) # Hello World
拋棄它們。 一旦你需要在更長的字串中列印多個變數,該程式碼將很快變得混亂且難以理解。無論如何,這些格式化方法並不簡單。
Pythonf-string是Python 3.6的引入的改變遊戲規則的工具。這是一種可讀且高階的字串格式句法,將表示式嵌入字串。這是透過語句f'{expr}'完成的; 其中表示式用f字串內的大括號括起來。表示式在開頭帶有f,位於單引號之前。
示例:
name ='World' print(f'Hello{name}') # Hello World
可以在大括號內寫任何在語法上有效的表達。還可以在表示式中呼叫函式!
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
命名事物是電腦科學中最困難的事情之一。你窮盡了所有想法。,卻不知道如何命名臨時中介變數。但你並不是唯一不會命名的人。
儘管很困難,Python中還是有一些命名慣例,來“縮小”命名變數時的選擇範圍的。它們有助於增強程式碼的一致性,可讀性和可重用性。
因此,如果字母本身沒有含義的話,你不應該再使用單個小寫字母命名所有變數,例如a, x等等。另外,您應該使用有意義的,易於理解且容易被識別的單詞命名它們,例如用user_profile 替換掉 uspr.
1. 避免使用單個字母命名事物,例如O, I, l。原因很明顯。
2. 變數和函式名稱都應該小寫。
3. 變數或函式名稱中的單詞應用下劃線 _ 分開。
4. 私有變數(例如在類內部)可能從一個下劃線開始
5. 類別名稱中的單詞應串聯並大寫,例如MarioKart。
6. 常數名稱應大寫,如 GOLDEN_RATIO。
此列表不是絕對詳盡的。命名變數可以說是程式設計中最難學習的內容之一。因此,在GitHub上閱讀其他人的程式碼並學習他們的命名方法,是初學者的最佳途徑。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2681920/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java面試題-基礎篇三(乾貨)Java面試題
- 零基礎學python,看完這篇文章,你的python基礎就差不多了!乾貨Python
- 關於git小記,(全是乾貨,剛需!)Git
- 0基礎學習Python,需掌握哪些方法?Python
- 零基礎Python學習路線及階段學習目標【乾貨】Python
- 【乾貨】區塊鏈技術基礎與典型應用區塊鏈
- HTML需掌握的基礎HTML
- 知識乾貨:基礎儲存服務新手體驗營
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- 乾貨分享|僅需六步,加速提高DevOps效率dev
- AI客服上線 乾貨 乾貨 全是乾貨!AI
- 乾貨|0基礎,開啟COS公鏈本地化執行
- IPIDEA乾貨|學習爬蟲必需瞭解的基礎知識Idea爬蟲
- 如何低投入0基礎做少兒程式設計?(開源乾貨!)程式設計
- 乾貨!無需任何工具,實測macOS雙開微信客戶端Mac客戶端
- Java開發基礎常見面試題及答案彙總(實用乾貨!)Java面試題
- 有python基礎學大資料還需不需要學java?Python大資料Java
- Python基礎篇-Python基礎01Python
- Python乾貨:用Scrapy爬電商網站Python網站
- IT自學乾貨
- 【乾貨乾貨】configtxlator 工具介紹
- python基礎中的基礎Python
- 最最基礎的乾貨:Linux中的絕對路徑和相對路徑Linux
- 乾貨分享!Python網路爬蟲實戰Python爬蟲
- 乾貨合集│最好用的 python 庫都在這Python
- Python乾貨整理,從入門說起(7.4)Python
- 乾貨 | 學習Python的正確姿勢Python
- 活動乾貨|基於Docker的DevOps實現Dockerdev
- Python基礎筆記01-Python基礎Python筆記
- python 基礎Python
- Python 基礎 (-)Python
- python基礎①Python
- python基礎Python
- 前端乾貨 -02前端
- 機器學習乾貨貼機器學習
- SQL乾貨篇SQL
- 分享乾貨啦!
- Python基礎:語法基礎(3)Python