今天是二零一伍年八月十號
1.在定義函式的時候,可以對函式傳入多種引數——必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數。而我們在定義函式的時候的順序應該是:必選引數、預設引數、可變引數/命名關鍵字引數和關鍵字引數。
形如下列函式:
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直譯器自動按照引數位置和引數名把對應的引數傳進去。
>>> f1(1, 2)
a = 1 b = 2 c = 0 args = () kw = {}
>>> f1(1, 2, c=3)
a = 1 b = 2 c = 3 args = () kw = {}
>>> f1(1, 2, 3, 'a', 'b')
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {}
>>> f1(1, 2, 3, 'a', 'b', x=99)
a = 1 b = 2 c = 3 args = ('a', 'b') kw =
>>> f2(1, 2, d=99, ext=none)
a = 1 b = 2 c = 0 d = 99 kw =
最神奇的是通過乙個tuple和dict,你也可以呼叫上述函式:
>>> args = (1, 2, 3, 4)
>>> kw =
>>> f1(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw =
>>> args = (1, 2, 3)
>>> kw =
>>> f2(*args, **kw)
a = 1 b = 2 c = 3 d = 88 kw =
所以,對於任意函式,都可以通過類似func(*args, **kw)的形式呼叫它,無論它的引數是如何定義的。
python教學筆記 python學習筆記(一)
1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...
python學習筆記
coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...
Python 學習筆記
python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...