python3函式的引數

2021-09-02 23:57:45 字數 1447 閱讀 3741

函式的定義能簡化**的邏輯,對於函式的呼叫者來說,只需要知道如何正確的傳遞引數,以及知道函式將返回什麼值就可以了,而函式內部的複雜邏輯被封裝起來,呼叫者不必了解。

呼叫函式時,傳入實參的值按照位置順序以此賦給形參。

def

power(x, n):

s = 1

while

( n ):

n = n - 1s = s *x

return s

上面這個函式中的x和n就是位置引數。

python的函式同時還允許你給函式的引數設定預設值,當呼叫者沒有給出引數的值時自動使用預設值。設定預設引數時要注意,必選引數必須在預設引數之前。

def power(x, n = 2):

s = 1

while

( n ):

n = n - 1s = s *x

return s

注意:預設引數必須指向不可變物件,否則會發生不可預知的錯誤。

在python函式中還可以定義可變的引數,引數的個數可以是任意個,定義引數時,只需要在引數的前面加乙個 * 符號即可。

def

n(×num):

s = 1

for n in

num:

s = s *n

return

sa = n(1,2,3,4,5,6,7,8,9,10) #

a = 3628800

python的關鍵字引數允許你傳入任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。傳入關鍵字引數的時候必須指定引數的名稱(引數名由呼叫者自行取定),否則該引數會被認為是位置引數從而報錯。

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

print('

name:

', name, '

age:

', age, '

other:

', kw)

preson("j

",33,city = "

beaijing

",job = "

engineer

")

命名關鍵字引數:呼叫者傳遞引數必須給出引數名,而且引數名是函式定義者預先定義好的。

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

print

(name, age, city, job)

#如果函式的引數中有可變引數,那麼後面的命名關鍵字引數就不需要 * 符號來定義了

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

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

總結:對於任意函式,都可以通過類似func(*args,**kw)的形式呼叫它,無論它的引數形式是怎樣的。

python3 函式引數

python函式引數包括五種型別 位置引數 預設引數 可變引數 關鍵字引數以及命名關鍵字引數。位置引數例如 def ex y y就是位置引數 例子 def ex y print y ex 2 預設引數 可以簡化函式的呼叫,設定預設引數時,要注意 一 必選引數在前,預設引數在後 二當函式有多個引數時,...

python3 函式的引數

函式的引數 預設引數 可變引數 關鍵字引數 命名關鍵字引數 版本 v1.0 日期 2019.03.26 python版本 3.7 引數預設值 def f1 a,b 5,c 10 return a b 2 c 3 print f1 1,2,3 print f1 100,200 print f1 100...

Python3 函式引數的傳入

在運維過程中,有些時候需要向main函式中傳遞引數,以方便運維與測試,那麼怎麼向main函式中傳入多個引數呢,下面以python3中的main函式為例,簡單講一下。首先我們需要import sys,sys是python3的乙個標準庫,也就是乙個官方的模組。封裝了一些系統的資訊和介面,然後再說說ar ...