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

2021-10-13 14:34:01 字數 2221 閱讀 3660

# -*- 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(x, n = 2):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

print(power(5))

def enroll(name, gender, age=6, city='beijing'):

print('name:', name)

print('gender:', gender)

print('age:', age)

print('city:', city)

enroll('summer', 'f')#只提供兩個必要引數,其他兩個預設

#預設引數之坑

def add(l=):

return l

print(add(['a', 'b', 'c']))

print(add())#列印結果為['233']

print(add())#列印結果為['233', '233']

#原因:因為預設引數l也是乙個變數,它指向物件

#每次呼叫該函式,如果改變了l的內容

#則下次呼叫時,預設引數的內容就變了,不再是函式定義時的了。

#腫麼辦

def add(l=none):

if l is none:

l =

return l

print(add())#列印結果為['233']

print(add())#列印結果為['233']

#!!!!!!預設引數必須指向不變物件!!!!!!

#可變引數

def calc(*num):

sum = 0

for n in num:

sum = sum + n * n

return sum

nums = [2, 3, 3]

nums = calc(*nums)

print(nums)

#python允許你在list或tuple前面加乙個*號

#把list或tuple的元素變成可變引數傳進去

#關鍵字引數

#關鍵字引數允許你傳入0個或任意個含引數名的引數

#這些關鍵字引數在函式內部自動組裝為乙個dict

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

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

person('summer', 22)

#關鍵字引數的作用:擴充套件函式的功能

extra =

person('summer', 22, **extra)

#**extra表示把extra這個dict的所有key-value用關鍵字引數

#傳入到函式的**kw引數,kw將獲得乙個dict

#注意kw獲得的dict是extra的乙份拷貝

#對kw的改動不會影響到函式外的extra。

#命名關鍵字引數

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

print(name, age, city, job)

#*為分隔符,後面的引數被視為命名關鍵字引數

#這麼呼叫

person1('summer', 22, city='shanghai', job='engineer')

#命名關鍵字引數必須傳入引數名

#這和位置引數不同。如果沒有傳入引數名,呼叫將報錯

#小結# *args是可變引數,args接收的是乙個tuple

# **kw是關鍵字引數,kw接收的是乙個dictionary

#可變引數既可以直接傳入:func(1, 2, 3)

#又可以先組裝list或tuple,再通過*args傳入:func(*(1, 2, 3));

#關鍵字引數既可以直接傳入:func(a=1, b=2)

#又可以先組裝dict,再通過**kw傳入:func(**)。

pytho函式星號引數

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

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