python學習筆記(9)--函數

來源:互聯網
上載者:User

標籤:lambda   全域   lam   python學習   建立   全域變數   for   總數   操作   

函數定義:

def <函數名>(<參數(0個或多個)>):  函數體  return <傳回值>

參數有非選擇性參數,和選擇性參數,選擇性參數放在參數列表的最後,可以為選擇性參數指定預設值。如下:

def fact(n,m=1):    s = 1    for i in range(1,n+1):        s *= i    return s//m
>>> fact(10)3628800>>> fact(10,5)725760

函數定義時可以設計可變數量參數,既不確定參數總數量。

def <函數名>(<參數>,*b):  函數體  return <傳回值>

舉例如下;

def fact(n,*b):    s = 1    for i in range(1,n+1):        s *= i    for item in b:        s *= item    return s

結果如下:

>>> fact(10,3)10886400>>> fact(10,3,5,8)435456000

函數的傳回值,可以返回多個傳回值,如下代碼:

def fact(n,m=1):    s = 1    for i in range(1,n+1):        s *= i    return s//m, n, m

結果如下:

>>> fact(10,5)(725760, 10, 5)>>> a,b,c=fact(10,5)>>> print(a,b,c)725760 10 5

函數的局部變數和全域變數,如果函數內部使用的局部變數為組合資料類型且未建立,等同於全域變數。

>>> ls=["F","f"]>>> def func(a):    ls.append(a)    return>>> func("c")>>> print(ls)[‘F‘, ‘f‘, ‘c‘]

類似於C語言中的指標操作。如果函數內部又定義了一個同名的ls列表,那麼ls就屬於局部變數。

>>> ls = ["F", "f"]>>> def func(a):    ls=[]    ls.append(a)    return>>> func("c")>>> print(ls)[‘F‘, ‘f‘]

lambda函數是一種匿名函數,即沒有名字的函數,返回的是函數名,lambda函數用於定義簡單的,能夠在一行內表示的函數。

<函數名> = lambda<參數>:<運算式>

>>> f = lambda x,y:x+y>>> f(10,15)25>>> f = lambda:"hello">>> print(f())hello

lambda函數主要用作一些特定函數或方法的參數。

 

python學習筆記(9)--函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.