python函數(shù)參數(shù)為None的時(shí)候,比如
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比廣豐網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式廣豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋廣豐地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
def
req(self,
b=None),是因?yàn)檫@個(gè)函數(shù)是一個(gè)封裝函數(shù),在沒有調(diào)用他的時(shí)候他的參數(shù)需要加上None。如果不加None值,不調(diào)用函數(shù)他會(huì)報(bào)錯(cuò)。
一般會(huì)用在封裝類或者框架里。比如說(shuō)框架一般會(huì)有一個(gè)總的調(diào)用函數(shù),總的調(diào)用函數(shù)啟動(dòng),這次沒有獲取到值,執(zhí)行到req函數(shù)時(shí)無(wú)法給req函數(shù)參數(shù),那如果沒有參數(shù)req函數(shù)就會(huì)報(bào)錯(cuò)。一般會(huì)報(bào):‘req()
missing
1
required
positional
argument:
'b'’但是如果參數(shù)為None就不會(huì)報(bào)錯(cuò)。如果程序執(zhí)行到req參數(shù)傳遞成功的話,參數(shù)就不會(huì)是None了。
所以None是一個(gè)防止報(bào)錯(cuò)的機(jī)制。
改成:host=readConfig().host
readConfig只是類名,readConfig.host是類屬性host,readConfig()就是創(chuàng)建了一個(gè)臨時(shí)的readConfig類對(duì)象,并調(diào)用它的實(shí)例屬性host
后面的readConfig.user等都要改
1、函數(shù)定義
①使用def關(guān)鍵字定義函數(shù)
②
def 函數(shù)名(參數(shù)1.參數(shù)2.參數(shù)3...):
"""文檔字符串,docstring,用來(lái)說(shuō)明函數(shù)的作用"""
#函數(shù)體
return 表達(dá)式
注釋的作用:說(shuō)明函數(shù)是做什么的,函數(shù)有什么功能。
③遇到冒號(hào)要縮進(jìn),冒號(hào)后面所有的縮進(jìn)的代碼塊構(gòu)成了函數(shù)體,描述了函數(shù)是做什么的,即函數(shù)的功能是什么。Python函數(shù)的本質(zhì)與數(shù)學(xué)中的函數(shù)的本質(zhì)是一致的。
2、函數(shù)調(diào)用
①函數(shù)必須先定義,才能調(diào)用,否則會(huì)報(bào)錯(cuò)。
②無(wú)參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(),有參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(參數(shù)1.參數(shù)2.……)
③不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會(huì)出不來(lái),陷入循環(huán)調(diào)用。
④函數(shù)需要調(diào)用函數(shù)體才會(huì)被執(zhí)行,單純的只是定義函數(shù)是不會(huì)被執(zhí)行的。
⑤Debug工具中Step into進(jìn)入到調(diào)用的函數(shù)里,Step Into My Code進(jìn)入到調(diào)用的模塊里函數(shù)。