python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?
1. 命名
符合 PEP-8 函數(shù)命名書寫規(guī)范的是小寫+下劃線或者比較常用的駝峰命名法。內(nèi)容方面是動(dòng)賓結(jié)合。 舉個(gè)例子:
def setUserName(String userName):pass推薦一個(gè)函數(shù)命名網(wǎng)站:codeIf 函數(shù)中帶有參數(shù)類型以及返回值的函數(shù)定義寫法:
>>> def setUserName(UserName:str)->None:print(UserName)>>> setUserName('xiaoming')xiaoming值得說(shuō)明的是,這里并沒(méi)有強(qiáng)制類型檢查,這種寫法也并不建議,不過(guò)上面的寫法也有一個(gè)好處:
如果想顯示函數(shù)參數(shù)類型的話,可以用函數(shù)說(shuō)明文檔來(lái)解決。
>>> def setUserName(UserName):"""@UserName: str"""print(UserName)?>>> print(setUserName.__doc__)?@UserName: str2. 功能單一
一個(gè)函數(shù)只做一件事情。舉個(gè)例子: get_user_list(age)這個(gè)函數(shù)定義就違反了我們的一個(gè)函數(shù)只做一件事情的要求,我們需要將op1、op2、op3三個(gè)操作分別寫到三個(gè)函數(shù)中去。但是,也不至于將函數(shù)功能分得過(guò)細(xì)。
def get_user_list(age):# op1: 從數(shù)據(jù)庫(kù)中拿到原始用戶列表信息# op2: 根據(jù) age 提取合適的目標(biāo)用戶信息# op3: 將用戶分類pass3. 文檔字符串
關(guān)于文檔字符串(Documentation Strings),每個(gè)函數(shù)都應(yīng)該有一個(gè)說(shuō)明文檔,可以參照下方樣例。需要有函數(shù)的功能描述、參數(shù)說(shuō)明、返回值說(shuō)明。
def if_ID_exit(user='', id=''):"""判斷賬戶是否存在:param user: teacher、student:return: bool, False - 賬戶存在 True - 賬戶不存在"""passprint(if_ID_exit.__doc__)查看函數(shù)說(shuō)明文檔的方式。
判斷賬戶是否存在:param user: teacher、student:return: bool, False - 賬戶存在 True - 賬戶不存在4. 返回值
你可能聽說(shuō)python的函數(shù)能夠返回多個(gè)值,像下面這個(gè)例子一樣:
def returnSth():return 1,2,3,4但實(shí)際上,它會(huì)將1,2,3,4作為一個(gè)整體返回,也就是說(shuō)它會(huì)將這些數(shù)字全都放到元組里面。
print(returnSth()) # (1,2,3,4)每個(gè)函數(shù)都會(huì)有返回值,即使你沒(méi)有明確寫出,那么它的返回值也會(huì)被默認(rèn)為None。盡量保證每個(gè)函數(shù)的返回值都是有意義的。哪怕它沒(méi)有什么操作,你也可以返回boolen類型來(lái)判斷執(zhí)行是否順利。
5. 函數(shù)長(zhǎng)度
不要太長(zhǎng),行數(shù)不要超過(guò)三位數(shù)。 保證入口參數(shù)相同的情況下,函數(shù)所造成的影響是確定的并且是相同的——純函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: centos7怎么重置mysql密码_c
- 下一篇: 获取用户列表为空_Python中最常见的