日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 内部函数传参_python中函数传参详解

發布時間:2025/3/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 内部函数传参_python中函数传参详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、參數傳入規則

可變參數允許傳入0個或任意個參數,在函數調用時自動組裝成一個tuple;

關鍵字參數允許傳入0個或任意個參數,在函數調用時自動組裝成一個dict;

1. 傳入可變參數:

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

以上定義函數,使用如下:

傳入多個參數,

calc(1, 2, 3, 4)

30 #函數返回值

傳入一個列表,

nums = [1, 2, 3]

calc(*nums) # 通過 * 將list中的元素作為可變參數傳入函數

14 # 函數返回值

2.傳入關鍵字參數:

>>> def person(name, age, **kw):

... print('name: ', name, 'age: ', age, 'other: ', kw)

...

>>>

>>> person('luhc', 24, city='Guangzhou')

name: luhc age: 24 other: {'city': 'Guangzhou'}

同樣,可以將預先定義的dict作為參數傳入以上函數:

>>> info = {'city': 'Guangzhou', 'job': 'engineer'}

>>>

>>> person('luhc', 24, **info)

name: luhc age: 24 other: {'city': 'Guangzhou', 'job': 'engineer'}

注意: 函數person 獲得的是參數 info 的一份拷貝,在函數內修改不會影響 info 的值

3. 在關鍵字參數中,可以限制關鍵字參數的名字:

# 通過 * 分割,以指定關鍵字參數名

>>> def person(name, age, *, city, job):

... print('name: ', name, 'age: ', age, 'city: ', city, 'job: ', job)

...

>>>

>>> person('luhc', 24, city='Guangzhou', job='engineer')

name: luhc age: 24 city: Guangzhou job: engineer

# 如果傳入參數中,存在參數名不在定義的范圍內,將拋出異常

>>> person('luhc', 24, city='Guangzhou', jobs='engineer')

Traceback (most recent call last):

File "", line 1, in

TypeError: person() got an unexpected keyword argument 'jobs'

>>>

此外,如果函數中已經指定可變參數,則 * 可以省略,如下:

# 省略了用 * 作為分割,指定關鍵字參數名

>>> def person(name, age, *args, city, job):

... print('name: ', name, 'age: ', age, 'args: ', args, 'city: ', city, 'job: ', job)

...

>>>

>>> person('luhc', 24, 'a', 'b', city='Guangz', job='engineer')

name: luhc age: 24 args: ('a', 'b') city: Guangz job: engineer

>>>

# 同樣,如果傳入了關鍵字參數未指定的參數名,則拋出異常

>>> person('luhc', 24, 'a', 'b', city='Guangz', job='engineer', test='a')

Traceback (most recent call last):

File "", line 1, in

TypeError: person() got an unexpected keyword argument 'test'

>>>

二、參數組合使用:

參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數

def f1(a, b, c=0, *args, **kw):

print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

def f2(a, b, c=0, *, d, **kw):

print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

以上就是本文給大家介紹的全部內容了,希望能夠對大家理解Python的函數參數的傳遞有所幫助

總結

以上是生活随笔為你收集整理的python 内部函数传参_python中函数传参详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。