引數就是傳入的值
示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 函式的引數和預設引數
defregist
(name, age, city = "shenzhen"):
print("name:",name)
print("age:",age)
print("city:",city)
執行結果
d:\pythonproject>python run.py
('name:', 'su')
('age:', 18)
('city:', 'shenzhen')
上述不使用預設值則可以進行傳參
示例
regist
("su", 18, "quanzhou")
執行結果
('name
:', 'su')
('age
:',18)
('city
:', 'quanzhou')
* 定義預設引數要牢記一點:預設引數必須指向不變物件! *
引數的個數是不確定的
示例例如傳入乙個陣列
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 可變引數
list = ["cat", "dog"]
defregist
(list):
for item in list:
print(item)
regist(list)
執行結果
d:\pythonproject>python run.py
catdog
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 可變引數
list = ["cat", "dog"]
defregist
(*list):
print(list)
for item in list:
print(item)
regist(list)
執行結果
變成了乙個list
d:\pythonproject>python run.py
(['cat', 'dog'],)
['cat', 'dog']
*nums表示把nums這個list的所有元素作為可變引數傳進去。這種寫法相當有用,而且很常見。
簡直是神器啊
關鍵字好處可以擴充套件函式的功能,可以選擇接受關鍵字引數處理也可以不出來
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 關鍵引數 ** 區分
# 關鍵字引數在函式內部自動組裝為乙個dict
deffunc
(name, **moreinfo):
print("name = ", name)
print("moreinfo = ", moreinfo)
# 關鍵字好處可以擴充套件函式的功能,可以選擇接受關鍵字引數處理也可以不出來
func("su", age=18, status = "rich")
執行結果
d:\pythonproject>python run.py
('name = ', 'su')
('moreinfo = ', )
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 關鍵引數 ** 區分
# 關鍵字引數在函式內部自動組裝為乙個dict
deffunc
(name, **moreinfo):
print("name = ", name)
print("moreinfo = ", moreinfo)
if"status"
in moreinfo:
print("vip operation")
else:
pass
# 關鍵字好處可以擴充套件函式的功能,可以選擇接受關鍵字引數處理也可以不出來
func("su", age=18, status = "rich")
執行結果
d:\pythonproject>python run.py
('name = ', 'su')
('moreinfo = ', )
vip operation
如果要限制關鍵字引數的名字,就可以用命名關鍵字引數,例如,只接收city和job作為關鍵字引數。這種方式定義的函式如下:
def person(name, age, *, city, job):
print(name, age, city, job)
個人認為限制個鬼,這麼好用的東西,不要限制,放飛自我
引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。
Python基礎(函式引數)
1.必選引數parameter def detail1 name,age,tel print 姓名 name print 年齡 age print tel detail1 qiye 12 123456 2.預設引數parameter value def detail2 name,age,tel,ge...
python基礎 函式引數和內建函式
linux pycharm anaconda 函式引數問題 def function a,b 直接將實參賦予行參,根據位置做匹配。def function a 1,b 2 根據鍵值對的形式做實參與行參的匹配,忽略了引數的位置關係。def function args 可以傳入任意個引數,這些若干引數都...
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...