python3 函式的引數的四種簡單用法

2021-09-26 07:41:37 字數 1897 閱讀 4761

'''

1.預設引數

2.關鍵字引數

3.非固定引數

4.區域性變數

'''#預設引數

def student(name, age, ***, address):

print(name, age, ***, address)

#關鍵字引數----關鍵引數必須放在預設引數之後

def student2(name, age, address, ***='男'):

print(name, age, ***, address)

#非固定引數

def student3(name, age, address, *args):

print(name, age, address, args)

#非固定引數

def student4(name, age, address, **kwargs):

print(name, age, address, kwargs)

#區域性變數

name = 'xiaohua'

def say(name):

print('befor--name:'+name)

name = '小華'

print('say--name:'+name)

student('小華', '21', '男', '中國')

#改變順序

student('21', '小華', '中國', '男')

print('------------這是分割線--------------')

student2('小華', '21', '中國')

student2('小華', '21', '中國', ***='女')

print('------------這是分割線--------------')

student3('小華', '21', '中國')

student3('小華', '21', '中國', '可愛', '迷人')

print('------------這是分割線--------------')

student4('小華', '21', '中國', dic1='可愛', dic2='迷人')

print('------------這是分割線--------------')

say(name)

結果展示:

小華 21 男 中國

21 小華 中國 男

------------這是分割線--------------

小華 21 男 中國

小華 21 女 中國

------------這是分割線--------------

小華 21 中國 ()

小華 21 中國 ('可愛', '迷人')

------------這是分割線--------------

小華 21 中國

------------這是分割線--------------

befor--name:xiaohua

say--name:小華

總結:1.預設引數

預設按照函式順序,傳參時按照函式順序即可。

2.關鍵字引數

必須放在預設引數後面

3.    *args   實際是(),如:()、('可愛', '迷人');

*args,前面不能跟關鍵引數,會報錯
4.    **kwargs  實際是字典,如:;

**kwargs,前面可以跟關鍵引數
5. 區域性變數

在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。

全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。

當全域性變數與區域性變數同名時:

在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。

python函式的四種引數傳遞方式

python中函式傳遞引數有四種形式 fun1 a,b,c fun2 a 1,b 2,c 3 fun3 args fun4 kargs 四種中最常見是前兩種,基本上一般點的教程都會涉及,後兩種一般很少單獨出現,常用在混合模式中 第一種fun1 a,b,c 是直接將實參賦予行參,根據位置做匹配,即嚴格...

python函式的四種引數傳遞方式

python中函式傳遞引數有四種形式 fun1 a,b,c fun2 a 1,b 2,c 3 fun3 args fun4 kargs 四種中最常見是前兩種,基本上一般點的教程都會涉及,後兩種一般很少單獨出現,常用在混合模式中 第一種fun1 a,b,c 是直接將實參賦予行參,根據位置做匹配,即嚴格...

python3函式的引數

函式的定義能簡化 的邏輯,對於函式的呼叫者來說,只需要知道如何正確的傳遞引數,以及知道函式將返回什麼值就可以了,而函式內部的複雜邏輯被封裝起來,呼叫者不必了解。呼叫函式時,傳入實參的值按照位置順序以此賦給形參。def power x,n s 1 while n n n 1s s x return s...