python函數介紹

來源:互聯網
上載者:User

標籤:python函數

1.函數定義與調用

函數是為了實現特定功能而封裝起來的一組語句塊,可以被使用者調用

使用函數可以降低編程難度,將大問題分解成若干小問題;實現代碼重用,函數可被多次調用

格式:

def 函數名(參數列表):

函數體

函數名(參數列表)

y=0為預設參數,不傳y值則y=0

def func(x,y=0):    print x,yfunc(1)func(1,2)

>>> 

1 0

1 2

>>> 


2.局部變數和全域變數

局部變數是函數內部定義,僅在函數內有效

i=‘before‘def func():    i=‘after‘    print i    func()print i

>>> 

after

before

>>> 

全域變數在函數外部定義,可以被其他程式段調用

函數內部通過global可以強制定義全域變數,當函數調用時全域變數生效

i=‘before‘def func():    global i    i=‘after‘    print i    func()print i

>>> 

after

after

>>> 


3.函數傳回值return

可以返回任意資料類型,預設為None

執行完return,函數退出

注意區分return和print

def func(x,y,z):    if z==‘+‘:        return x+y    elif z==‘-‘:        return x-y    print func(5,2,‘+‘)

>>> 

7

>>> 

def func(x,y,z):    if z==‘+‘:        print x+y    elif z==‘-‘:        print x-y    print func(5,2,‘+‘)

>>> 

7

None

>>> 


4.參數名賦值

def func(x,y,z=0):    print x,y,z    func(1,2)func(y=22,x=11,z=3)

>>> 

1 2 0

11 22 3

>>> 


5.字典賦值和冗餘參數

def func(name,age):    print name,age    a={‘name‘:‘zhzhgo‘,‘age‘:25}func(**a)

>>> 

zhzhgo 25

>>> 

def func(x,*args):    print x,args    func(1,2,3,4)

>>> 

1 (2, 3, 4)

>>> 

def func(x,*args,**kw):    print x,args,kw    func(1,2,3,4)func(1,2,3,4,y=5,z=6)

>>> 

1 (2, 3, 4) {}

1 (2, 3, 4) {‘y‘: 5, ‘z‘: 6}

>>> 


6.__main__函數

加上if __name__==‘__main__‘:之後被其他程式import的時候就不會被執行了


7.lambda函數(匿名函數)

lambda函數是一種快速單行定義函數的方法,使代碼更簡潔,避免了不必要的函數體定義


func(x,y):

    return x*y

與上面正常函數等價的寫法

func=lambda x,y:x*y

舉例:階乘實現

reduce((lambda x,y:x*y),range(1,5))



本文出自 “今日的努力,明日的成功!” 部落格,請務必保留此出處http://zhzhgo.blog.51cto.com/10497096/1673943

python函數介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.