精品国产亚洲一区二区三区|亚洲国产精彩中文乱码AV|久久久久亚洲AV综合波多野结衣|漂亮少妇各种调教玩弄在线

<blockquote id="ixlwe"><option id="ixlwe"></option></blockquote>
  • <span id="ixlwe"></span>

  • <abbr id="ixlwe"></abbr>

    傳智播客鄭州校區(qū)Python學(xué)習(xí)之函數(shù)中的形參與實(shí)參

    眾所周知,Python中的函數(shù)就是帶名字的代碼塊。如果在寫一段程序的時(shí)候,需要多次用到同樣一個(gè)功能,就會(huì)增加代碼量。而如果把功能作為代碼塊封裝在函數(shù)里,通過調(diào)用,就會(huì)讓寫程序員變得很方便。今天,傳智播客鄭州校區(qū)就為大家介紹Python函數(shù)中的形參與實(shí)參。

    一、傳智播客Python學(xué)習(xí):函數(shù)  

    1.1函數(shù)的定義使用def關(guān)鍵字,如下:

    def user():                        def 關(guān)鍵字后面加函數(shù)名定義函數(shù),定義以冒號(hào)結(jié)尾    """內(nèi)部代碼塊"""                使用三引號(hào)來構(gòu)成文檔字符串,用來解釋該函數(shù)的主要功能,這是一個(gè)很好的編碼習(xí)慣      print("Hello World")       函數(shù)體,用來寫該函數(shù)需要完成的功能的代碼user()                 使用函數(shù)名()的方式調(diào)用函數(shù)

    1.2 向函數(shù)傳遞參數(shù)信息

    在定義函數(shù)的時(shí)候,可以在函數(shù)的()內(nèi)加入變量,在調(diào)用函數(shù)的時(shí)候就可以給函數(shù)傳入對(duì)應(yīng)的值,以上個(gè)例子稍作修改:

    復(fù)制代碼def user(username):    """內(nèi)部代碼塊"""    print("Hello World,"+username)    在定義函數(shù)的時(shí)候傳入變量username,在調(diào)用該函數(shù)的時(shí)候就可以通過傳值來讓函數(shù)實(shí)現(xiàn)相應(yīng)的功能user("尼古拉斯趙四")輸出結(jié)果:Hello World,尼古拉斯趙四復(fù)制代碼

    二、傳智播客Python學(xué)習(xí):形參和實(shí)參

    從名字就可以看出,實(shí)參是一個(gè)實(shí)實(shí)在在存在的參數(shù),是實(shí)際占用內(nèi)存地址的,而形參只是意義上的一種參數(shù),在定義的時(shí)候是不占內(nèi)存地址的,如在上面例子中,username就是一個(gè)形參,尼古拉斯趙四是調(diào)用函數(shù)時(shí)傳入的一個(gè)實(shí)參,它的值被存儲(chǔ)在形參username中。

    函數(shù)的調(diào)用中,可能存在多個(gè)實(shí)參,在給函數(shù)傳遞參數(shù)的時(shí)候只要有兩種方式,位置實(shí)參和關(guān)鍵字實(shí)參,每個(gè)實(shí)參都由變量名和值組成,實(shí)參還可以是列表、字典

    1.位置實(shí)參

    在調(diào)用函數(shù)的時(shí)候,必須將每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的每一個(gè)形參,最簡(jiǎn)單的關(guān)聯(lián)方式就是基于實(shí)參的順序。

    def func(x,y,z):              首先在定義函數(shù)的時(shí)候傳入3個(gè)形參x,y,z    print(x,y,z)func(3,2,1)           在調(diào)用該函數(shù)時(shí),通過位置實(shí)參的方式,將實(shí)參映射到形參,一一對(duì)應(yīng),即x=3,y=2,z=1運(yùn)行結(jié)果:3 2 1

    需要注意一點(diǎn)的就是,如果使用位置實(shí)參的方式傳值,傳入的實(shí)參個(gè)數(shù)必須與形參相同,否則運(yùn)行程序會(huì)報(bào)。

    2.關(guān)鍵字實(shí)參

    關(guān)鍵字實(shí)參是通過關(guān)鍵字-值的方式,關(guān)鍵字實(shí)參的方式就不需要考慮函數(shù)調(diào)用過程中實(shí)參的順序。同一個(gè)參數(shù)不能傳兩個(gè)值

    復(fù)制代碼def func(x,y,z):    print(x,y,z)func(x=1,y=2,z=3)             通過關(guān)鍵字=值的方式,將實(shí)參與形參關(guān)聯(lián)映射,不需要考錄形參的順序,順序也可以改變,即y=2,z=3,x=1 ,運(yùn)行的結(jié)果不會(huì)發(fā)生改變運(yùn)行結(jié)果:1 2 3復(fù)制代碼

    3.既有順序,又有關(guān)鍵字

    復(fù)制代碼def func(x,y,z):    print(x,y,z)func(1,y=2,z=3)               在兩種方式混用的時(shí)候,順序?qū)崊⒈仨氁旁陉P(guān)鍵字實(shí)參之前,否則會(huì)程序報(bào)錯(cuò),如 1,y=2.3 \ y=2 1,3這種方式都不可行運(yùn)行結(jié)果:1 2 3復(fù)制代碼

    4.默認(rèn)值   

    在定義函數(shù)的時(shí)候,也可以指定形參的默認(rèn)值,如果在調(diào)用函數(shù)時(shí)給函數(shù)提供了實(shí)參時(shí),Python將使用指定的實(shí)參值,否則的,將自動(dòng)調(diào)用形參的默認(rèn)值。因此,如果給形參指定了默認(rèn)值后,在調(diào)用時(shí)可以不用給它傳值,使用默認(rèn)值可以簡(jiǎn)化函數(shù)的調(diào)用。如:

    def func(x,y=2):             定義函數(shù)的時(shí)候在這里給形參設(shè)置了默認(rèn)值y=2    print(x,y)func(1)             在調(diào)用此函數(shù)時(shí),只傳入了一個(gè)實(shí)參,y的值就會(huì)使用默認(rèn)值運(yùn)行結(jié)果:1 2

    還可以在調(diào)用的時(shí)候,更改默認(rèn)值 ,如

    def func(x,y=2):    print(x,y)func(1,3)                    在調(diào)用該函數(shù)的時(shí)候,給設(shè)置了默認(rèn)值的形參y再次賦值,這運(yùn)行結(jié)果會(huì)使用新傳入的實(shí)參值運(yùn)行結(jié)果:1 3

    在使用形參默認(rèn)值的時(shí)候需要注意:在形參列表中必須先列出沒有默認(rèn)值的形參,再列出有默認(rèn)值的形參。這讓Python依然能夠正確的解讀位置實(shí)參。

    def func(x=2,y):    print(x,y)func(1)                        這種情況程序是不允許運(yùn)行的

    即:在函數(shù)調(diào)用過程中,可以混合使用位置實(shí)參,關(guān)鍵字實(shí)參和默認(rèn)值參數(shù),但是其中相關(guān)的規(guī)則一定要遵循,否則一定會(huì)導(dǎo)致程序的運(yùn)行出錯(cuò)。

    當(dāng)提供的實(shí)參多于或少于函數(shù)定義時(shí)所提供的形參時(shí),程序會(huì)報(bào)錯(cuò),這時(shí)只要根據(jù)報(bào)錯(cuò)信息正確修改即可。

    5.列表和字典

    當(dāng)不確定需要傳入的值是多少時(shí),在定義形參的時(shí)候,可以使用*args(列表),**kwargs(字典)來表示。

    復(fù)制代碼def func(*args,**kwargs):        使用*args代表列表。**kwargs代表字典,這種形式可以在調(diào)用函數(shù)的時(shí)候傳入多個(gè)實(shí)參    print(args)    print(kwargs)func(*[1,2,3,4,5],**{"y":1})     如果想要傳入的值以列表或字典的形式顯示出來,就需要在元素前加上*或** 運(yùn)行結(jié)果:(1, 2, 3, 4, 5){'y': 1} 復(fù)制代碼

    三、傳智播客Python學(xué)習(xí):函數(shù)的返回值

    函數(shù)不是直接顯示輸出的,相反,它會(huì)處理一些數(shù)據(jù)并返回一個(gè)或一組值。在函數(shù)中用return語句將值返回到調(diào)用函數(shù)的代碼行,返回值能將程序大部分繁重的工作移交到函數(shù)中去完成,從而簡(jiǎn)化主程序。

    下面是一個(gè)簡(jiǎn)單的程序,接收姓氏和名稱,返回完整的人名信息

    復(fù)制代碼def name(first_name,last_name):    """返回人的姓名"""    full_name=first_name+" "+last_name    return full_nameprint(name("尼古拉斯","趙四"))運(yùn)行結(jié)果:尼古拉斯 趙四復(fù)制代碼

    函數(shù)可以返回任何類型的值,包括字典、列表這樣較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。還是上面的例子,返回一個(gè)表示人的字典

    復(fù)制代碼def name(first_name,last_name,):    """返回人的姓名"""    full_name={"first":first_name,"last":last_name}    return full_nameprint(name("尼古拉斯","趙四"))運(yùn)行結(jié)果為:{'first': '尼古拉斯', 'last': '趙四'}復(fù)制代碼

    函數(shù)傳遞列表,傳遞列表在函數(shù)中很有用,在列表中包含數(shù)字、名字甚至更復(fù)雜的對(duì)象,下面舉一個(gè)例子:

    復(fù)制代碼def func(names):    """向列表中的所有用戶問號(hào)"""    for i in names:        print("Hello"+" "+i+"!!")func(["劉能","趙四","尼古拉斯"])運(yùn)行結(jié)果:Hello劉能!!Hello 趙四!!Hello 尼古拉斯!!復(fù)制代碼

    函數(shù)還可以結(jié)合while循環(huán),下面是一個(gè)很簡(jiǎn)單的例子,用戶輸入姓氏和名字,最終輸出完整的一句話。

    復(fù)制代碼def name(first_name,last_name,):    """返回人的姓名"""    full_name=first_name+last_name    return full_name while True:    print("\nplease tell me your name ")    f_name=input("first name:")    l_name=input("last name:")    print("\n Hello"+name(f_name,l_name)+"!")            輸入姓氏和名字,通過name函數(shù)整合后,輸出結(jié)果復(fù)制代碼

    極客網(wǎng)企業(yè)會(huì)員

    免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

    2018-01-16
    傳智播客鄭州校區(qū)Python學(xué)習(xí)之函數(shù)中的形參與實(shí)參
    眾所周知,Python中的函數(shù)就是帶名字的代碼塊。如果在寫一段程序的時(shí)候,需要多次用到同樣一個(gè)功能,就會(huì)增加代碼量。而如果把功能作為代碼塊封裝在函數(shù)里,通過調(diào)用,就會(huì)讓寫程序員變得很方便。今天,傳智播客鄭州校區(qū)就為大家介紹Python函數(shù)中的形參與實(shí)參。一、傳智播客Python學(xué)習(xí)

    長按掃碼 閱讀全文