python基礎學習11----函數

來源:互聯網
上載者:User

標籤:傳遞   pre   個數   teacher   定長參數   變數範圍   glob   定義函數   none   

一.函數的定義

def 函數名(參數列表):    函數體    return語句

return語句不寫或後邊不加任何對象即為return None

二.函數的參數

無參數

def func1():    print("沒有參數")

一個參數

def func1(a):   return a

多個參數

def func1(a,b,c):   return a+b+c

必須參數

  必須按照正確順序和數量傳入參數

def func1(name,age,job):   print("name:%s age:%d job:%s"%(name,age,job))func1("sfencs",20,"IT")

關鍵字參數

def func1(name,age,job):   print("name:%s age:%d job:%s"%(name,age,job))func1(age=20,name="sfencs",job="IT")

預設參數

預設參數必須放在必須參數的後面

def func1(name,age,job="IT"):   print("name:%s age:%d job:%s"%(name,age,job))func1("sfencs",20)func1("Alan",25,"teacher")

不定長參數

參數帶一個星號*

def func1(*args):    print(args)func1(1,2,3,"sfencs")#(1, 2, 3, ‘sfencs‘)以元組形式儲存

參數帶兩個星號**

def func1(**args):    print(args)func1(age=20,name="sfencs",job="IT")#{‘age‘: 20, ‘name‘: ‘sfencs‘, ‘job‘: ‘IT‘}以字典形式儲存

定義函數的參數時請以必須參數、預設參數、帶一個星號的不定長參數、帶兩個星號的不定長參數的順序定義形參

三.參數傳遞

不可變類型

def func1(a):    a=5b=10func1(b)print(b)#輸出為10

可變類型

def func1(list1):    list1.append("sfencs")list2=[1,2,3]func1(list2)print(list2)#[1, 2, 3, ‘sfencs‘]list2會改變

四.變數範圍

L (Local) 局部範圍
E (Enclosing) 閉包函數外的函數中
G (Global) 全域範圍
B (Built-in) 內建範圍

按照L-->E-->G-->B的順序尋找

內部範圍修改外部範圍變數

global

count=20def function() :    global count#不加這句話會報錯    print (count)#20    count=5    print(count)#5function()print(count)#5

nonlocal 

修改嵌套範圍

def function1() :    count=20    def function2():        nonlocal count        count=5        print(count)#5    function2()    print(count)#r此時輸出為5,若不加nonlocal count則輸出為20function1()

五.遞迴函式

#斐波那契數列為0,1,1,2,3,5,8,13,21,34.......def fibon(n):    if n<=2 :        return n-1    return fibon(n-1)+fibon(n-2)print(fibon(7))#輸出數列中第七個數,為8

  

 

python基礎學習11----函數

相關文章

聯繫我們

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