python函式程式 python函式

2021-10-11 20:20:09 字數 2327 閱讀 7887

1.位置引數

位置引數就是普通的引數定義

def power(x):

print(x**2)

2.預設引數

當呼叫函式時沒有給引數值,那麼會給使用定義的預設值。下面定義的函式可以定義引數值也可以不定義,不定義時x預設為9

def power(x = 3):

print(x**2)

預設引數注意事項,當預設引數使用的是可變的型別引數時,會產生不同的結果。當函式定義預設的引數是乙個空列表時,第一次呼叫函式時,變數l設為[『end『],當第二次呼叫時,會以[『end『]為預設引數,因為l指向的列表物件位址沒有改變,所有l的值為[『end『,『end『]。

in [1]: def power(l = ):

...: return l

in [2]:

in [2]: print(power())

[『end『]

in [3]: print(power())

[『end『, 『end『]

in [4]: print(power())

[『end『, 『end『, 『end『]

3.可變引數

當引數的個數不確定時,可以使用可變引數,只需要在變數前加,當想把乙個列表或元祖的值傳入時,只需要在列表或元祖前加即可。

def sum(*num):

temp = 0

for i in num:

temp += i

return temp

print(sum(1, 2, 4, 60))

l = [1, 3, 5, 6]

print(sum(*l))

4.關鍵字引數

可以將多個引數封裝成dict,下面的函式除了name和age需要定義外,還可以傳入多個kv鍵值對,會被封裝成dict。當有乙個dict物件時,只需在物件名前加就可以傳入引數。

def person(name, age, **kw):

print("name =", name, "age = ", age, "kw = ", kw)

person(『fgnb『, 33, fg = 『nb『)

extra =

person(『fgsb『, 『33『, **extra)

5.命名關鍵字引數

主要用於限制關鍵字引數的引數名,比如希望輸入名為a和b的關鍵字。只需在中間加上乙個號,或者引數中間有可變引數

def person(name, age, * , a, b):

print(name, age, a, b)

def person(name, age, *args, city, job): #引數傳遞時需要2個位置引數,city和job的關鍵字引數和任意個引數變數

print(name, age, args, city, job)

person(『fg『, 32, a = 『a『, b = 『b『)

6.引數的順序

位置引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

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)

>>> 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 =

# 可以通過list或者tuple傳遞引數

>>> 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 =

python簡述定義函式的規則 python 函式

一.定義函式 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段 函式能提高應用的模組性,和 的重複利用率 函式式 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 物件導向 對函式進行分類和封裝,讓開發 更快更好更強.函式式程式設計最重要的是增強 的重用性和可讀性 1.定義函...

pytho函式星號引數

神奇的星號 傳遞實參和定義形參 所謂實參就是呼叫函式時傳入的引數,形參則是定義函式是定義的引數 的時候,你還可以使用兩個特殊的語法 呼叫函式時使用 test args 的作用其實就是把序列 args 中的每個元素,當作位置引數傳進去。比如上面這個 如果 args 等於 1,2,3 那麼這個 就等價於...

python class函式報錯 Python類

建立乙個類 class person pass p person print p 類以class 宣告 self變數 這個定義與c 的this指標,都是指向物件示例本身,但使用起來是不一樣的。可以看到函式定義的時候,都要帶乙個self引數。這是因為python直譯器會預設將物件本身作為引數傳入函式。...