欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python基礎(chǔ)之函數(shù)、方法

系統(tǒng) 1737 0

函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

定義一個函數(shù):

            
              def 函數(shù)名(參數(shù)列表):
    函數(shù)體

            
          

#定義一個沒有參數(shù),沒有函數(shù)體實(shí)現(xiàn)的函數(shù);pass相當(dāng)于占位符,使定義函數(shù)滿足語法要求,或者是先定義一個函數(shù)名,后面再實(shí)現(xiàn)其功能

            
              def func():
    pass

            
          

#定義一個add函數(shù),參數(shù)為a,b,返回a+b的結(jié)果:

            
              def add(a,b):
    return a+b

print(add(1,2))
3

            
          

return函數(shù)最終返回的內(nèi)容,如果沒有寫return,則默認(rèn)返回None,相當(dāng)于return None
函數(shù)不一定要顯式返回,具體要看函數(shù)的功能

函數(shù)分為內(nèi)置的函數(shù)和自定義的函數(shù)兩種

函數(shù)的作用:
1.封裝,別人無須知道實(shí)現(xiàn)的細(xì)節(jié)
2.修改的時候,一處修改,全局生效
3.使用的時候方便,調(diào)用函數(shù)就可以了

什么時候會用到函數(shù)?
策略:
當(dāng)你寫了大段大段的相同或者類似地代碼段后,就需要嘗試去封裝為函數(shù)。

如何寫一個函數(shù):
1.傳參的類型判斷,不符合計算規(guī)則的參數(shù)需要忽略或者其他處理。
2.思考需要聲明哪些變量來存儲計算結(jié)果和中間的計算過程值。
3.開始寫的時候,最好加上中間狀態(tài)的打印語句。一般用的邏輯是遍歷+if判斷+return短路等。
4.計算完畢,想清楚返回1個還是多個數(shù)據(jù)的結(jié)果。

函數(shù)的參數(shù)

可變長參數(shù)(參數(shù)數(shù)量不固定)
*arg:表示把可變的多個非命名參數(shù),轉(zhuǎn)換為了一個元組
**kw:表示把可變的多個命名參數(shù),轉(zhuǎn)換為了一個字典
例:

            
              def add(a,*arg):
    result = a
    for num in arg:
        result += num
    return result

print(add(1,2,3,4))
10

            
          

在這里插入圖片描述

            
              def print_sth(a,**kw):
    print(a)
    for k,v in kw.items():
        print(k,v)

print_sth(1,b=2,c=3)

            
          

在這里插入圖片描述

*arg和**kw可以混合使用

            
              def func(a,b,*arg,**kw):
    result = a * b
    for i in arg:
        result *= i
    for j in kw.values():
        result *= j
    return result

print(func(1,2,3,4,f=5))  #等價于1*2*3*4*5

            
          

在這里插入圖片描述

函數(shù)傳入的參數(shù)為不可變的,對外部的變量就沒影響。
按值傳–傳入的不是變量對應(yīng)的內(nèi)存地址。
函數(shù)傳入的參數(shù)為可變的,對外部的變量就有影響。
按引用傳–傳入的是變量對應(yīng)的內(nèi)存地址。

注:
不可變對象:所有的數(shù)字、字符串、元組
可變:set dict list 實(shí)例
參數(shù)傳不可變對象的時候,函數(shù)內(nèi)外變量值是獨(dú)立的
參數(shù)傳可變對象的時候,函數(shù)內(nèi)外變量值是關(guān)聯(lián)的

原則1:
如果你傳入的參數(shù)是個變量a,這個變量是可變類型(list、dict、set)
那么函數(shù)內(nèi)部對于這個參數(shù)的所有操作結(jié)果都會影響外部的參數(shù)值

原則2:
如果你傳入的參數(shù)是個變量a,這個變量是不可變類型(字符串、整數(shù)、小數(shù))
那么函數(shù)內(nèi)部對于這個參數(shù)的所有操作結(jié)果不會影響外部的參數(shù)值

函數(shù)和方法

函數(shù):不寫在類里面
方法:寫在類里面的
實(shí)例或類里的叫方法
不在實(shí)例或類里的叫函數(shù)

幾種方法的區(qū)別
類方法、實(shí)例方法、靜態(tài)方法
類方法可以被類對象或?qū)嵗{(diào)用,實(shí)例方法只能被實(shí)例調(diào)用,它只屬于類的單個實(shí)例擁有,靜態(tài)方法兩者都能調(diào)用,它在類和實(shí)例間共享。Python實(shí)現(xiàn)了一定的靈活性使得類方法和靜態(tài)方法,都能夠被實(shí)例和類二者調(diào)用。
所以三者主要區(qū)別在于參數(shù)傳遞上的區(qū)別,實(shí)例方法隱含傳的參數(shù)是類實(shí)例self,而類方法隱含傳遞的參數(shù)是類本身cls,而靜態(tài)方法無隱含參數(shù),主要為了類實(shí)例也可以直接調(diào)用靜態(tài)方法(方法的參數(shù)將在類/面向?qū)ο蟛糠种v到,此處不做擴(kuò)展)

Python類中隱藏數(shù)據(jù)
類中的方法名前后都有兩個下劃線,表示是Python的內(nèi)置方法,如__init__()
類中的方法名前面有兩個下劃線,表示是Python中的私有方法,類似于java中的private,不能在類外部調(diào)用(如__setId()).
類中的屬性前有兩個下劃線表示聲明該屬性為私有屬性,不能在類的外部被使用或直接訪問,如__name


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 三级毛片在线 | 欧美日韩国产在线人成dvd | 国产91精品久久久久久久 | 国产亚洲精品久久久久久老妇 | 精品视频在线观看 | 亚洲网站在线免费观看 | 91精品在线看 | 久久中文字幕不卡一二区 | 国产中文字幕在线 | 黄色在线免费看 | 欧美白人战黑吊 | 我要色综合网 | 99视频在线观看视频一区 | 精品人妻无码一区二区三区手机板 | 日韩三级免费 | 丝袜捆绑调教视频免费区 | 精品一区二区三区在线视频 | 中文字幕一区二区三区四区五区 | 范丞丞星座 | 国产精品久久av | 91亚瑟视频 | 亚洲成a人片在线观看www流畅 | 久久久久国产精品免费免费搜索 | 久久国内精品 | 国产东北普通话对白 | 国产精品美女久久久久aⅴ国产馆 | 国产中文视频 | 草草国产成人免费视频 | 免费激情网站 | 成人在线免费小视频 | 欧美在线中文字幕 | 亚洲天堂久久 | 国产精品人人做人人爽 | 欧美1区| 日日舔夜夜操 | 欧美一区二区精品 | 亚洲一卡二卡在线 | 一区二区三区中文字幕 | 国产婷婷综合 | 欧美高清hd| 夜夜骚 |