日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python再談函數(shù)

 pythonjava學(xué)習(xí) 2021-04-06

1、關(guān)鍵字參數(shù)

Python中調(diào)用函數(shù)時(shí),函數(shù)參數(shù)的傳遞是比較靈活的,可以按照位置來(lái)匹配,也可以按照參數(shù)來(lái)匹配。
文字不太好說(shuō)明,直接上代碼。

#定義函數(shù)

def test(a,b):產(chǎn)

print("a=",a,',b=',b)

#主程序

x,y=2,3

test(x,y)#第一種匹配方式

test(b=y,a=x)#第二種匹配方式

其運(yùn)行結(jié)果如下:

由本例可以看出:
第一種匹配方式,test(x,y)是我們之前常用的,也是其他編程語(yǔ)言里面用的匹配方式,按位置匹配,把x的值傳遞給a,把y的值傳遞給b
第二種匹配方式,test(b=y,a=x)test(x,y)的作用是一樣的,也是把x的值傳遞給a,把y的值傳遞給b,但可以看到,這種方式與第一種方式不同,它是把形參名也放在這里了,在調(diào)用時(shí)就明確哪個(gè)值給哪個(gè)形參。這種叫關(guān)鍵字參數(shù)。

2、默認(rèn)值參數(shù)

Python中也有默認(rèn)值參數(shù),與其他語(yǔ)言中的類似。
如下列代碼,代碼含義請(qǐng)看注釋。

def test(a='hello',b='cj'):#定義函數(shù),函數(shù)參數(shù)提供默認(rèn)值。

    print("a=",a,',b=',b)

x,y=2,3

test()#均用默認(rèn)值

test(b=y)#a用默認(rèn)值

test(x)#b 用默認(rèn)值

test(x,y)#給定值

其運(yùn)行結(jié)果如下:

--------------------------代碼太長(zhǎng),休息一會(huì)兒

--------------------------這是廣告開(kāi)始的分割線

---------------------------這是廣告結(jié)束的分割線

---------------------------------------接著,來(lái)......

3、任意個(gè)數(shù)參數(shù)

有時(shí)候,在定義函數(shù)時(shí),不能確定到底有多少個(gè)參數(shù),可以用任意個(gè)數(shù)參數(shù)。
任意個(gè)數(shù)參數(shù),只需要在參數(shù)前面加*或者**
1

def  test(*par):

  print("number of pars: %d" %len(par))

  print("type of par: %s" %type(par))

  for p in par:

      print("par is:%s" %p)

test('lay','zcj','xi','zhang')

其運(yùn)行結(jié)果為:

2

def  test(**par):

  print("number of pars: %d" %len(par))

  print("type of par: %s" %type(par))

  print(par.keys())

  print(par.values())

test(name1='lay',name2='zcj',name3='xi',name4='zhang')

其運(yùn)行結(jié)果如下:

從例1和例2可以看出,***都能夠接受0到多個(gè)任意個(gè)參數(shù)。
*表示將沒(méi)有匹配的值都放在同一個(gè)元組中。
**表示將沒(méi)有匹配的值都放在一個(gè)字典中。

4、變量的作用域

Python中的變量也分局部變量和全局變量。
局部變量就是在函數(shù)內(nèi)部定義的變量,它只能在該函數(shù)內(nèi)起作用。
全局變量是在函數(shù)外部定義的,作用域是整個(gè)程序。全局變量可以在函數(shù)里直接使用,但如果要改變?nèi)肿兞康闹?,需要?/span>global關(guān)鍵字。
例:

x=0

def f1():

    print('f1中的x=',x)

f1()

print('運(yùn)行f1x=',x)

def f2():

    global x

    x=3

    print('f2中的x=',x)

f2()

print('運(yùn)行f2x=',x)

其運(yùn)行結(jié)果如下:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多