python函數—參數類型__函數

來源:互聯網
上載者:User

1.預設值參數

即為函數形參設定預設值,在調用該函數時,不為預設值參數進行傳值,自動調用預設值,若為已設定預設值的形參傳值,則使用替換後的實參。

可以使用‘函數名.func_defaults'(python3中使用'函數名.__defaults__')來查看函數所有預設值參數的當前值。其傳回值為一個依次排序預設值的元組。


在定義帶有預設值參數的函數時,預設值參數必須出現在函數形參列表的最右端。


2.關鍵參數

調用時使用的參數,不受順序影響。

3.可變長參數

*x用來接收任意多個實參,並將其放在一個元組中,**x用來接收多個實參放在一個字典中。

>>> def f(*x):
print x
>>> f(1,2,3)
(1, 2, 3)


>>> def h(**x):
for i in x.items():
print i
>>> h(x = 1,y = 2,z = 3)
('y', 2)
('x', 1)
('z', 3)

>>> def h(**x):
print x



>>> h(x = 1,y = 2)
{'y': 2, 'x': 1}
>>> def h(**x):
print x.keys()
>>> h(x = 1,y = 2,z = 3)
['y', 'x', 'z']
>>> def h(**x):
print x.values()
>>> h(x = 1,y = 2,z = 3)
[2, 1, 3]

4.參數傳遞事的序列解包

為含有多個變數的函數傳遞參數時,可以使用列表、元組、字典、集合以及其他可迭代對象作為實參,並在實參名稱前加一個*,python解譯器會自動進行解包然後傳遞給多個變數。若使用字典作為實參,則預設是鍵,索引值對則使用items方法,值values方法。

>>> def f(a,b,c):
print a+b+c
>>> s = [1,2,3]
>>> f(*s)
6

>>> t =(1,2,3)
>>> f(*t)
6
>>> d = {1:'a',2:'b'}
>>> d = {1:'a',2:'b',3:'c'}
>>> f(*d)
6
>>> s = {1,2,3}
>>> f(*s)
6


5.return

沒有任何傳回值return語句返回None。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.