1. 程式人生 > >Python 函式呼叫&定義函式&函式引數

Python 函式呼叫&定義函式&函式引數

一.函式呼叫

就拿abs()函式來舉例 用來返回數值的絕對值

>>> abs(-5)
5

二.定義函式 

我們可以通過def 來自定義函式,格式為 def  函式名(引數):

舉一個定義計算兩個數值相乘的函式:

 def product(x,y):
    return x*y
 print(product(3,4))

 三.函式引數

  • 位置引數

上述的定義的函式裡的引數 x,y就為位置引數

  • 預設引數
def power(x,n=2):
     return x**n
 print(power(2))

n = 2為預設引數,power(2) 就等同於power(2,2)  ,反正不給n進行賦值,n預設就為2

  • 可變引數
def variable(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n*n
    return sum
nums = [1,2,3,4]
print(variable(*nums))  #在list或tupe的前面加一個*號,把lsit或tupe變為可變引數引入進去

在引數前加一個* 就定義為可變引數了,再呼叫函式時可以傳入任意引數並自動組裝為一個tuple

  • 關鍵字引數
def  person(name,age,**kw):
    print('name:',name,'age:',age,'other:',kw)
person('zhangsan',18)
person('bobi',19,city='changzhou')
extra = {'city':'beijing','job':'Engineer'}
person('jack',24,job=extra['job'])
person('jack',24,**extra)  #**extra 表示把字典extra裡所有的鍵值對用關鍵字引數傳入到函式的**kw引數

在kw前面加**就變為關鍵字引數了,接收的是一個dict