局部變量是不可以再函數(shù)外訪問的。
創(chuàng)新互聯(lián)建站專注于麻栗坡企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。麻栗坡網(wǎng)站建設(shè)公司,為麻栗坡等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
如果堅(jiān)持訪問,有兩個辦法:
1)把a(bǔ)修改成全局變量;
2)把function2定義在function1的內(nèi)部。
好像沒有特別的叫法吧,也沒注意手冊上有什么特別的叫法,至于區(qū)別,舉個例子你就清楚了,如下:
假如有個列表aa=[1,4,3,5],對這個列表用sort()進(jìn)行排序,如果第一種方式aa.sort()后aa=[1,3,4,5];
而第二種方式sort(aa)排序后雖然得到了新列表[1,3,4,5],但是aa還是=[1,4,3,5]。
也就是說第一種方式會改變原列表,而第二種不會改變,只是得到了一個新的副本。
GOT IT?!^^
補(bǔ)充一下,如果非要說叫法上的區(qū)別的話,第一種叫做方法調(diào)用,第二種叫做函數(shù)調(diào)用。至于方法和函數(shù)的些微區(qū)別,方法是基于對象的,函數(shù)是基于本身的。如果再詳細(xì)……方法一般不可以單獨(dú)使用,因?yàn)榇蟛糠址椒ㄊ腔趯ο蟮?,調(diào)用也必須基于對象,像上面第一種;而函數(shù)則可以單獨(dú)使用,你可以理解成它是數(shù)據(jù)系統(tǒng)本身的,而不是對象專有的。
PS:至于為什么我換了用sort()而沒有用LZ給的例子函數(shù),是因?yàn)?.…^o^……LZ第一種方式和第二種方式寫的都不是一個函數(shù)……
1、函數(shù)定義
①使用def關(guān)鍵字定義函數(shù)
②
def 函數(shù)名(參數(shù)1.參數(shù)2.參數(shù)3...):
"""文檔字符串,docstring,用來說明函數(shù)的作用"""
#函數(shù)體
return 表達(dá)式
注釋的作用:說明函數(shù)是做什么的,函數(shù)有什么功能。
③遇到冒號要縮進(jìn),冒號后面所有的縮進(jìn)的代碼塊構(gòu)成了函數(shù)體,描述了函數(shù)是做什么的,即函數(shù)的功能是什么。Python函數(shù)的本質(zhì)與數(shù)學(xué)中的函數(shù)的本質(zhì)是一致的。
2、函數(shù)調(diào)用
①函數(shù)必須先定義,才能調(diào)用,否則會報(bào)錯。
②無參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(),有參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(參數(shù)1.參數(shù)2.……)
③不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會出不來,陷入循環(huán)調(diào)用。
④函數(shù)需要調(diào)用函數(shù)體才會被執(zhí)行,單純的只是定義函數(shù)是不會被執(zhí)行的。
⑤Debug工具中Step into進(jìn)入到調(diào)用的函數(shù)里,Step Into My Code進(jìn)入到調(diào)用的模塊里函數(shù)。