day14 Python函式之可變長引數

2022-05-26 17:06:09 字數 1781 閱讀 3548

1.形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數

2.實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值

a傳給了x。b傳給了y。

3.位置引數和關鍵字(標準呼叫:實參與形參位置一一對應;關鍵字呼叫:位置無需固定)

#位置引數,必須一一對應,否則報錯,缺乙個或者多乙個不行

def test1(x,y,z):

print(x)

print(y)

print(z)

test1(1,3,5)

結果:135

#關鍵字引數,不需要一一對應,缺乙個或者多乙個不行

def test1(x,y,z):

print(x)

print(y)

print(z)

test1(y=1,z=3,x=5)

結果:5

13

位置引數和關鍵字混搭

#位置引數必須在關鍵字引數左邊

def test1(x,y,z):

print(x)

print(y)

print(z)

test1(1,3,z=5)

#z=5換成y=5會報錯,因為按照順序,5會覆蓋3,但是z值沒有

結果:1

35

4.預設引數

def handle(x,type="none"):

print(x,type)

handle("hello")

handle("hi",type="how are you")

handle("ll","ii")

結果:hello none

hi how are you

ll ii

5.引數組

**跟字典有關係

*跟列表有關係

**,*args在最後放著表示可擴充套件性!!!!

*def test(x,*args):

print(x)

print(x,args)

print(args)

print(args[0])

print(*args[0])

test(1,["c","v","b"],5,6,7,8)

結果:1

1 (['c', 'v', 'b'], 5, 6, 7, 8)

(['c', 'v', 'b'], 5, 6, 7, 8)

['c', 'v', 'b']

c v b

**def test01(x,**kwargs):

print(x)

print(kwargs)

test01(1,name="charon",age=10)

結果:1

結合:*args千萬不能在後面,否則報錯,位置引數必須在關鍵字引數前面

def test01(x,*args,**kwargs):

print(x)

print(args,args[1])

print(kwargs)

test01(1,"vv",2,"bb",name="charon",age=10)

結果:1

('vv', 2, 'bb') 2

day14 python內建函式

abs num 求num的絕對值 print abs 3.2 3.2 all 如果可迭代的物件中都為真,則返回true 如果有假,則返回false print all 1,2,3,ss 都為真,返回true print all 1,0,3,4 序列中有0,返回的值為false any 若序列中有乙個...

day14 內建函式

內建函式就是python執行時就會載入記憶體的函式,py直譯器執行後就可以直接拿來用的函式,常用的內建函式有以下這些,其中enumerate和eval是最常用的 1.bytes print 中文 encode utf8 print bytes 中文 utf8 2.char ord print chr...

day 14 內建函式二

一 函式名就是變數名,函式名字儲存的是函式的記憶體位址,溫習變數 1 由數字,字母,下劃線組成 2 不能是數字開頭,更不能是純數字 3 不能用關鍵字 4 不要太長 5 要有意義 6 不要用中文 7 區分大小寫 8 駝峰線或者下劃線 二 閉包 在內層函式中引入外層函式的變數 作用 1 保護變數,不受侵...