之前也學習過一段時間的python基礎知識,今天由於專案無法進行測試,閒來無事所以想重新溫故下。我天生對**不是很感冒才做的軟體測試,但是做久了感覺軟體行業是離不開**的,索性還是抽空涉獵點**相關的知識吧,畢竟一天在幹這行就要花心思去學習這行。今天簡單把python溫故的重點和以前覺得的難點在此記錄下:
例子可以看出,如果輸入的引數個數不確定,其它引數全部通過*arg,以元組的形式由arg收集起來。對照上面的例子不難發現:
值1傳給了引數x
值2,3,4,5,6.7.8.9被塞入乙個tuple裡面,傳給了arg
def func(x,*arg):
print x #輸出引數x的值
result = x
print arg #輸出通過*arg方式得到的值
for i in arg:
result +=i
return result
print func(1,2,3,4,5,6,7,8,9) #賦給函式的引數個數不僅僅是2個
1 #這是函式體內的第乙個print,引數x得到的值是1
(2, 3, 4, 5, 6, 7, 8, 9) #這是函式內的第二個print,引數arg得到的是乙個元組
45 #最後的計算結果
如果用**kargs的形式收集值,會得到dict型別的資料,但是,需要在傳值的時候說明「鍵」和「值」,因為在字典中是以鍵值對形式出現的。
但是我們也不知道引數到底會可能用什麼樣的方式傳值啊。把上面兩種方式結合起來就解決了。但是引數傳遞的順序很關鍵。
def foo(x,y,z,*args,**kargs):… print x
… print y
… print z
… print args
… print kargs
… foo(『qiwsir』,2,」python」)
qiwsir
2 python
() {}
foo(1,2,3,4,5)
1 2
3 (4, 5)
{} foo(1,2,3,4,5,name=」qiwsir」)
1 2
3 (4, 5)
全域性變數:
x = 2
def funcx():
x = 9
print 「this x is in the funcx:–>」,x
funcx()
print 「————————–」
print 「this x is out of funcx:–>」,x
this x is out of funcx:–> 2
x = 2
def funcx():
global x #跟上面函式的不同之處
x = 9
print 「this x is in the funcx:–>」,x
funcx()
print 「————————–」
print 「this x is out of funcx:–>」,x
this x is out of funcx:–> 9
Python函式學習筆記
自己學python的時候留下的一些筆記。函式的基礎知識 一.函式的引數 1.預設引數可以不用賦值,直接呼叫函式,但是要在定義的時候賦初值,2.收集引數,可以防止不知道需要多少個引數,例如 def test params print 引數長度是 len params print 第二個引數是 para...
python函式學習筆記
1.組合排列函式 要呼叫的包 itertools 用法 import itertools 1 product 笛卡爾積,有放回抽樣排列 用法 itertools.product abcd repeat 2 2 permutations 排列,不放回抽樣排列 用法 itertools.permutat...
python函式引數學習筆記
1 引數的傳遞是通過自動將物件賦值給本地變數名來實現的。函式引數 呼叫者傳送的 可能的 共享物件的引用值 所有的引數實際上都是通過指標進行傳遞的。作為引數被傳遞的物件從裡不自動拷貝。2 在函式內部的引數名的賦值不會影響呼叫者。在函式執行時,在函式頭部的引數名是乙個新的 本地變了,這個變數名時再函式的...