#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math
www.cppcns.comdef calc(*numbers):
sum=0
for n in numbvajzgers:
sumreturn sum
print(calc(1,2,3))
print(calc(1,3,5,7))
print(calc())
執行效果圖如下:
定義可變引數和定義乙個list或tuple引數相比,僅僅在引數前面加了乙個*號。在函式內部,引數numbers接收到的是乙個tuple,因此,函式**完全不變。但是,呼叫該函式時,可以傳入任意個引數,包括0個引數。
python允許你在list或tuple前面加乙個*號,把list或tuple的元素變成可變引數傳進去:
#!/usr/bin/env pythonwww.cppcns.com
# -*- coding: utf-8 -*-
import math
def calc(*numbers):
sum=0
for n in numbers:
sum+=n**2
return sum
nums = [1,2,3]
print(calc(*nums))
執行效果圖如下:
Python可變引數
在python函式中,還可以定義可變引數。顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個 2個到任意個,還可以是0個。以數學題為例子,給定一組數字a,b,c 請計算a2 b2 c2 要定義出這個函式,我們必須確定輸入的引數。由於引數個數不確定,我們首先想到可以把a,b,c 作為乙個list...
python 可變引數
1.args可以使用陣列和元組 2.kwargs可以使用字典作為引數def t args p,args 把陣列 元組作為引數傳遞給 args param p param args return print p for a in args print a deft kw p,kwargs 把字典作為可...
python的可變引數
剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...