使用 def 來開一個新的 function
import math
def test(x):
print(“x=“,x)
x = math.pi
print(“x=“,x)
return x
y = test(“test”)
print(“y=“,y)
result:
x=test
x= 3.141592653589793
y= 3.141592653589793
因為使用到 math 的 pi function,所以我們需要在一開頭加一句 import math
def 後面的就是 function 名稱
() 裡的就是參數,意思是 call 這個 function 時需要 pass 什麼過去
return 就是返回 value 給 call function 的人
如果沒有 return 這一句
default 是 return None 的
除此之外
function 是可以返回多個數值的
def test():
x = 1
y = 2
return x, y
a, b = test()
print(“a, b=“,a,b)
result: a, b= 1 2
可變參數:
我們可以傳 list 或 tuple 進去的
第一個方法是:
def clac(numbers):
print(numbers)
>>>calc([1,2])
[1,2]
第二個方法是:
只要 function 的參數前面加個 * 號
def calc(*numbers):
print(numbers)
>>> calc(1,2)
(1,2)
如果本來已有個list
>>> n = [1,2]
>>> calc(n[0],n[1])
(1,2)
這樣也是可以的,只是當list大了的時候會很不方便吧
所以 Python 是可以讓我們直接傳 list 進去的,只要在 list 前加個 * 號
>>> n = [1,2]
>>> calc(*n)
(1,2)
*n 表示把 n 這個 list 的所有元素作為可變參數傳進去
關鍵字參數:
關鍵字參數允許我們傳入0個或任意個含參數名的參數
這些參數會內部組裝成一個 list
def person(name, age, **kw)
print(’name:’,name,’age:’,age,’other:’,kw)
>>> person(‘nightsnow’,15)
name: nightsnow age: 15 other: {}
可傳入任意個數參數
>>> person(‘nightsnow’,15,city=“HK”,gender=“F”)
name: nightsnow age: 15 other: {‘city’: ’HK’, ‘gender’: ‘F’}
又或是如果我們已有個 dict
>>> extra = {‘city’: ’HK’, ‘gender’: ‘F’}
>>> person(‘nightsnow’,15,**extra)
name: nightsnow age: 15 other: {‘city’: ’HK’, ‘gender’: ‘F’}
**extra 表示把 extra 這個 dict 的所有 key-value 用關鍵字參數傳入到 **kw 中
kw 將直接獲得一個 dict
kw 只是得到 extra 的拷貝,kw 的改動並不會影響到 extra
*注意不要少寫了冒號 :
*總結:
* 是 可變參數,接收的是一個 tuple
** 是 關鍵字參數,接收的是一個 dict
沒有留言:
張貼留言