這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Python中函數(shù)和變量名的作用是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
岑鞏ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!1、Python函數(shù)
函數(shù)是Python為了代碼大程度的重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu),用于將相關(guān)功能打包并參數(shù)化
Python中可以創(chuàng)建4種函數(shù):
1)、全局函數(shù):定義在模塊中,每個模塊都是一個全局作用域,因此,全局作用域的范圍僅限于單個程序文
2)、局部函數(shù):嵌套在其它函數(shù)中
3)、lambda函數(shù):表達式
4)、方法:與特定數(shù)據(jù)類型關(guān)聯(lián)的函數(shù)表,并且只能與數(shù)據(jù)類型關(guān)聯(lián)一起使用
Python提供眾多內(nèi)置函數(shù)
Python創(chuàng)建、改變、查找變量名都是在名稱空間中進行,在代碼中變量名被復(fù)制的位置決定了其能被訪問到的范圍
Python函數(shù)執(zhí)行環(huán)境
如圖,函數(shù)可以通過多種方法獲得輸入以及產(chǎn)生輸出:
創(chuàng)建函數(shù),語法格式:
def funcName(arg1,arg2, ...):
suite
語法說明:
1)、def是一個可執(zhí)行語句,可以出現(xiàn)在任何能夠使用語句的地方,甚至可以嵌套在其它語句中,例如if或while語句。
2)、def創(chuàng)建一個對象并將其賦值給一個變量名(即函數(shù)名)
3)、return用于返回結(jié)果對象,為可選參數(shù),無return語句時函數(shù)自動返回none對象。返回對個值時,使用逗號隔開,并組合稱一個元組對象返回
4)、def語句運行之后,可以在程序中使用函數(shù)后附加括號進行調(diào)用,每次對函數(shù)的調(diào)用都會創(chuàng)建一個新的本地作用域,賦值的變量除非聲明為全局變量,否則均為本地變量
5)、所有的變量名都可以歸納為本地、全局或內(nèi)置的(由__builtin__模塊提供)
python函數(shù)用法示例
例1:交互式模式下創(chuàng)建并調(diào)用函數(shù)
In [1]: def printname(): ...: raw_input('Please Inputyour name:') ...: In [2]: printname() Please Input your name:Fieldyang
例2:編輯test.py,測試全局變量和函數(shù)內(nèi)本地變量
[root@test 0527]# vim test.py #!/usr/bin/python27 x = 27 def f1(): x= 52 print x f1() print x [root@test 0527]# chmod +x test.py [root@test 0527]# ./test.py
52 #調(diào)用函數(shù)產(chǎn)生的輸出,函數(shù)內(nèi)變量
27 #print產(chǎn)生的輸出,本地變量
例3:編輯test.py,測試全局變量和函數(shù)內(nèi)變量的作用域
[root@test 0527]# vim test.py #!/usr/bin/python27 x = 27 def f1(): y= 52 print "def y = %d,global x = %d" % (y,x) f1() print "global x = %s." %x print y [root@test 0527]# ./test.py def y = 52,global x = 27 global x = 27. Traceback (most recent call last): File "./test.py", line 9, inprint y NameError: name 'y' is not defined
#函數(shù)內(nèi)部可以使用全局變量,局部同名變量不影響全局變量,并且全局變量無定義時無法自行使用函數(shù)內(nèi)同名變量。
#函數(shù)內(nèi)部賦值的變量可以使用global聲明為全局變量,則全局中均會調(diào)用該變量值。
例4:編輯test.py,定義全局變量
[root@test 0527]# vim test.py #!/usr/bin/python27 x = 27 y = 66 #本地變量,函數(shù)內(nèi)部聲明“global y”后該參數(shù)不會被調(diào)用 def f1(): global y y= 52 print "global y = %d,global x = %d" % (y,x) f1() print "global x = %s." %x print "global y = %s." %y [root@test 0527]# ./test.py global y = 52,global x = 27 global x = 27. global y = 52.
2、變量名解析
1)、LEGB原則:
Local-->Enclosing functionlocals-->Global-->Built-in
變量名引用分三個作用域進行
首先是本地、之后是函數(shù)內(nèi)、接著是全局、最后是內(nèi)置,作用域越小,優(yōu)先級越高
2)、變量名解析示例
例1:函數(shù)嵌套的使用
[root@test 0527]# vim test2.py #!/usr/bin/python27 # z = "From global :" m = 666 def f1(): x= "From function f1 :" y= 222 print "%s y = %d" % (x,y) print "%s m = %d" % (z,m) def f2(): x = "From function f2 :" print "%s y = %d" % (x,y) f2() f1() print "%s m = %d" % (z,m) [root@test 0527]# chmod +x test2.py [root@test 0527]# ./test2.py From function f1 : y = 222 From global : m = 666 From function f2 : y = 222 From global : m = 666
上述就是小編為大家分享的Python中函數(shù)和變量名的作用是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。