Python函式引數

2021-08-11 07:33:48 字數 2224 閱讀 4915

根據廖叔叔的python教程整理

def

square

(x):

return x * x

print(square(10))

defpower

(x, n):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

print(power(10, 2))

print(power(x=10, n=2))

print(power(10, n=2))

print(power(x=10, 2)) # syntaxerror: positional argument follows keyword argument

def

power

(x, n=2):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

print(power(5))

print(power(5, 2))

print(power(5, 3))

# 由於引數個數不確定,我們首先想到可以傳入乙個list或tuple

defcalc

(numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

print(calc([1, 3, 5, 7, 9]))

print(calc((1, 3, 5, 7, 9)))

# 利用可變引數,稍微修改定義函式的方式,簡化後續呼叫

defcalc

(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

print(calc(1, 3, 5, 7, 9)

nums = [1, 3, 5, 7, 9]

print(calc(*nums)) # *nums表示把nums這個list的所有元素作為可變引數傳進去。

如果有不定數目的或者額外集合的關鍵字,引數被放入乙個字典中:鍵為引數名,值為相應的引數值。

def

showinfo

(name, age, **kw):

print('name:', name, 'age:', age, 'other:', kw)

showinfo('bob', 35, city='beijing')

showinfo('adam', 45, gender='m', job='engineer')

extra =

showinfo('jack', 24, **extra)

如果要限制關鍵字引數的名字,就可以用命名關鍵字引數,例如,只接收city和job作為關鍵字引數。這種方式定義的函式如下

# 1.命名關鍵字引數需要乙個特殊分隔符*

defshowinfo

(name, age, *, city, job):

print(name, age, city, job)

# 2.如果函式定義中已經有了乙個可變引數,後面跟著的命名關鍵字引數就不再需要乙個特殊分隔符*了

defshowinfo

(name, age, *args, city, job):

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

# 3.如果沒有可變引數,就必須加乙個*作為特殊分隔符。如果缺少*,命名關鍵字引數就變成位置引數了

defshowinfo

(name, age, city, job):

print(name, age, city, job)

在python中定義函式,可以用位置(必選)引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數,這5種引數都可以組合使用。但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

對於任意函式,都可以通過類似func(*args, **kw)的形式呼叫它,無論它的引數是如何定義的。

雖然可以組合多達5種引數,但不要同時使用太多的組合,否則函式介面的可理解性很差。

python引數函式 Python函式引數總結

coding utf 8 整理一下python函式的各種引數型別 位置引數 呼叫函式時,傳入的兩個值按照位置順序依次賦給引數 def power x,n s 1 while n 0 n n 1 s s x return s print power 5,2 預設引數 簡化函式的呼叫 def power...

python 引數 Python函式 引數

python中將函式作為引數,區分將引數直接寫成函式名和函式名 的區別。def fun1 fun print print print fun 執行fun1 fun4 時,fun為函式fun3的返回值x print type fun type fun type fun fun 執行fun1 fun4 ...

函式傳引數 python 函式引數

1.位置引數 最熟悉的一種引數形式,優點 簡單。缺點 傳遞引數不夠靈活 2.預設引數 優點 提高了 的復用性 缺點 容易產生二義性 注意事項 一是必選引數在前,預設引數在後。二是如何設定預設引數。當函式有多個引數時,把變化大的引數放前面,變化小的引數放後面。變化小的引數就可以作為預設引數。def p...