python基礎(chǔ)知識(shí)(三)---函數(shù)語(yǔ)法規(guī)則

Python 函數(shù)語(yǔ)法規(guī)則

1.定義函數(shù)

函數(shù)的返回,在函數(shù)體中 有return語(yǔ)句玻募,return后可以跟多個(gè)值用逗號(hào)隔開即可

def add (a,b):                  # 參數(shù)名  是函數(shù)中的局部變量
    return a+b, str(a)+str(b)   # 返回多個(gè)數(shù)據(jù)時(shí)返回?cái)?shù)據(jù)類為元組
函數(shù)調(diào)用

調(diào)用: 直接寫函數(shù)名稱 和傳遞參數(shù)

v=add(100,200)
print(v,type(v)) 
a=10
def f2():
    print('函數(shù)執(zhí)行')
    #函數(shù)沒(méi)有寫 返回值時(shí)  默認(rèn)返回 None

print( f2() )  # 打印f2()  函數(shù)執(zhí)行后的返回值 為None

2.Python 函數(shù) 參數(shù)的各種形式

1.參數(shù)的“多態(tài)性”  ---- 參數(shù)變量 可以代表任何數(shù)據(jù)類型
    def add(a,b):
        return a+b
    print( add(1,2) )
    print( add("hello","world") )

2. 函數(shù)對(duì)參數(shù)的 處理  分可變數(shù)據(jù) 和不可變數(shù)據(jù) 兩種情況
    a=10    #  a變量所引用的 值10  所占的內(nèi)存空間  不可在改變 其中的數(shù)據(jù)鸭栖,  int怪得,float,bool,Str 等都是不可變數(shù)據(jù)
    def f2(p1):    
        p1=p1+1
        return p1
    
    print(f2(a)) # 當(dāng)傳遞到函數(shù)中的數(shù)據(jù) 是不可變數(shù)據(jù)時(shí),函數(shù)中對(duì)該數(shù)據(jù)的更改,不會(huì)影響傳遞進(jìn)來(lái)之前的數(shù)據(jù)
    print(a)     # a 仍然保持為 原來(lái)的10
    # 以上的輸出 分別是 11 和10
    
    l1=[1,2]         #  l1 所引用的值 所占的空間 是可改變的宙攻,list  set dict 這些數(shù)據(jù)類型 的存儲(chǔ)空間是 可改變的
    def f3(p1):
        p1.append(3) # 當(dāng)傳遞進(jìn)來(lái)的數(shù)據(jù) 可變時(shí),函數(shù)中對(duì)數(shù)據(jù)做的更改介褥,會(huì)對(duì)傳遞進(jìn)來(lái)之前的值 產(chǎn)生影響
        return p1
    print( f3(l1))
    print(l1 )
    # 以上兩行輸出的 值是一樣的 改變后的座掘。 l1被函數(shù)所改變
    
    l2=[3,4,5]
    l3=l2
    l3.append(6)
    print(l2,l3,id(l2),id(l3))   # 表示 l2 l3 都引用同一個(gè) 列表

3.函數(shù)定義時(shí)和調(diào)用時(shí)  參數(shù)列表中 有等號(hào)的情況
    1.定義函數(shù)時(shí) 參數(shù)帶等號(hào) 表示給參數(shù)設(shè)定默認(rèn)值
        def f1(a,b=10):
            print(a,b)

        調(diào)用函數(shù)f1
        f1(10)      # 只給參數(shù) a 傳遞值10, b參數(shù)采用默認(rèn)值 10
        f1(10,20)   # 給a傳遞10柔滔,  b傳遞20

        以上兩行分別輸出10 10; 10 20

    2.調(diào)用函數(shù)時(shí) 參數(shù)帶等號(hào)溢陪,表示 指定給某一個(gè)參數(shù)傳遞值
        f1(a=123,b=456)
        f1(b=123,a=456)  #指定給參數(shù)傳遞值  可以不按照 定義函數(shù)時(shí)  參數(shù)的順序傳遞
        以上兩行輸出123 456; 456 123

    注意:
    f1(b=123, 456)  #  調(diào)用函數(shù)時(shí) 如果通過(guò)指定參數(shù)名傳遞睛廊, 則從第一個(gè)指定名稱傳遞開始  后面的參數(shù)都必須通過(guò)指定名稱傳遞
    以上寫法 會(huì)報(bào)語(yǔ)法錯(cuò)誤P握妗! 
         f1(b=123, 456)
                 ^
    SyntaxError: positional argument follows keyword argument

3. 函數(shù)的參數(shù)定義時(shí) 和調(diào)用時(shí) 有星號(hào)的情況

1. 定義函數(shù)時(shí)  參數(shù)有星號(hào)的情況
    def f2(*p1):             # 星號(hào)參數(shù)表示在調(diào)用該函數(shù)時(shí)可以傳遞任意多個(gè)參數(shù)
        print(p1, type(p1))  # 在函數(shù)中用一個(gè)參數(shù)名字統(tǒng)一表示多個(gè)數(shù)據(jù),以元組形式存在

    f2(1,2,3,4,5)  # 可以傳遞任意多個(gè)參數(shù) 進(jìn)去

2.調(diào)用函數(shù)時(shí)  參數(shù)帶星號(hào)的情況
    def f3(a,b,c,d,e,f):
        print(a,b,c,d,e,f)   
    
    t1=(1,2,3,4,5,6)
    f3(*t1)     # 調(diào)用函數(shù)f3時(shí)超全,可以用一個(gè)變量名將多個(gè)數(shù)據(jù)分別傳遞給各個(gè)參數(shù)没酣, 按照變量中的元素順序傳遞給各個(gè)參數(shù)
    
3.定義時(shí)參數(shù)有2個(gè)星號(hào)的情況 表示收集任意多 對(duì) 鍵值對(duì),在函數(shù)中該參數(shù)類型是 “字典”
    def add_info(**i):
        print(i,type(i))

    add_info(name="張", tel='12345678',email='abc@abc.com')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卵迂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绒净,更是在濱河造成了極大的恐慌见咒,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挂疆,死亡現(xiàn)場(chǎng)離奇詭異改览,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)缤言,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門宝当,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人胆萧,你說(shuō)我怎么就攤上這事庆揩±” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵订晌,是天一觀的道長(zhǎng)虏辫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)锈拨,這世上最難降的妖魔是什么砌庄? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮奕枢,結(jié)果婚禮上娄昆,老公的妹妹穿的比我還像新娘。我一直安慰自己缝彬,他們只是感情好萌焰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著跌造,像睡著了一般杆怕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壳贪,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天陵珍,我揣著相機(jī)與錄音,去河邊找鬼违施。 笑死互纯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磕蒲。 我是一名探鬼主播留潦,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辣往!你這毒婦竟也來(lái)了兔院?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤站削,失蹤者是張志新(化名)和其女友劉穎坊萝,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體许起,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡十偶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了园细。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惦积。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖猛频,靈堂內(nèi)的尸體忽然破棺而出狮崩,到底是詐尸還是另有隱情蛛勉,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布厉亏,位于F島的核電站董习,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏爱只。R本人自食惡果不足惜皿淋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恬试。 院中可真熱鬧窝趣,春花似錦、人聲如沸训柴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)幻馁。三九已至洗鸵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仗嗦,已是汗流浹背膘滨。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稀拐,地道東北人火邓。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像德撬,于是被迫代替她去往敵國(guó)和親铲咨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355