python3函式的引數

2022-09-23 00:42:50 字數 1445 閱讀 6230

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

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

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

list學習 1 中括號表示 裡面可以是任意資料型別元組,列表 li 1 2 4 990 2 9 sssss sss aaa 1 2 索引取...

Python3

python 是一個高層次的結合瞭解釋性 編譯性 互動性和麵向物件的指令碼語言。 python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。 reddit 社交分享 dropbox 檔案分享服務 豆瓣網 圖書 唱片 電影等文化產品的...

Python3的 new

這個方法是用來生成類的例項 class singleton object def new cls args kwargs if not ha...