上面這個例子就是說在一個類中,只有__a這個函數(shù)是內(nèi)部函數(shù),其他都可以在外部調(diào),在python中至少大家習(xí)慣的寫法而已,無實(shí)際作用
為包河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及包河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、包河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
每一個module都有一個叫__name__的變量,它的值就是module的名字
比如os.__name__ 是"os",sys模塊的__name__是"sys"
__main__也是一個模塊,但是這個模塊比較特殊,其他的模塊都有一個對應(yīng)的同名py文件,比如os.py, sys.py,這個模塊卻沒有對應(yīng)的固定名字的py文件,不管你執(zhí)行 什么.py,它的名字都是__main__。它指的是正在運(yùn)行的模塊,即主模塊。
上面說過,每個模塊都有__name__這個變量, 那么主模塊也不例外,主模塊的__name__變量,值就是"__main__"
解釋了半天,再說你的問題:__name__和name是兩個不同的變量,__name__有定義而name沒有定義,使用沒有定義的變量就要出錯,這沒有什么好說的。
例如你寫:
if name == '__main__':是一個變量未定義的錯誤
而當(dāng)你寫 if __name__ == 'main':的時候,由于__name__的值其實(shí)是'__main__',所以if的條件為假,不會執(zhí)行你的代碼。
最后,你可以自己寫一點(diǎn)測試代碼來探索這個問題,文件名就叫test.py,代碼也很簡單:
print(__name__)
import?test
輸出有兩行,第一行毫無疑問是__main__,第二行比較有意思,輸出是test,因?yàn)榇藭rtest.py作為一個模塊被import其__name__就是"test"。
不能,python是解釋性的,必須先定義后調(diào)用
只能這樣
def?test()
return?'test'
print?test()
這樣理解吧,如果運(yùn)行之后你的字符串改變了,那就是放在后面寫。
如果只是獲取你的字符串的一些屬性的話,那就放在前面。
Python發(fā)展到現(xiàn)在,其實(shí)不簡單了。 說簡單,只是你自己不夠與時俱進(jìn),掌握的都是老式三板斧而已。所以,知識需要不斷更新,才能彌補(bǔ)自己的盲點(diǎn),以上就是本文的全部內(nèi)容,希望能大家的學(xué)習(xí)或者工作帶來一定的幫助。
這是必須的,因?yàn)樗且婚T解釋語言,而非編譯后運(yùn)行的語言。
解釋器必須從前往后讀取