python之函數整理

來源:互聯網
上載者:User

標籤:pre   資料   span   cal   格式   函數實現   括弧   The   pytho   

函數是什麼?

函數一詞來源於數學,但編程中的「函數」概念,與數學中的函數是有很大不同的。編程中的函數在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子過程或子程式),在Pascal中叫做procedure(過程)和function,在C中只有function,在Java裡面叫做method。

定義: 函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名即可

特性:

  1. 減少重複代碼(重複的代碼可以通過一個函數實現)
  2. 使程式變的可擴充
  3. 使程式變得易維護(修改部分功能可以通過修改函數來實現)   

 

函數的基本格式

def test(x,y,z):    print(x)    print(y)    print(z)

如上,這就是在python中的基本定義方法:def 是定義函數的基本格式,test是這裡的函數名,:下面的內容就是具體要實現的功能。

這個時候我們再來討論一下函數括弧裡面的東西,我們叫它們為參數。像test(x,y,z)中的x,y,z我們稱之為形式參數,當我們給它們賦值,比如x=1之後,1就是實際參數。

 

關於一些參數的補充:

def test(x,y,z):    print(x)    print(y)    print(z)test(1,2)#位置參數test(y=1,x=2)#關鍵字參數#test(2,y=3,6)這裡是錯誤的,關鍵字參數必須寫在位置參數的後面
預設參數:調用函數時,預設函數非必須傳遞(用於定義函數,為參數提供預設值,調用函數時可傳可不傳該預設參數的值)

函數的傳回值:

def fun1():    ‘‘‘函數‘‘‘    print("in the func1")    return 0def fun2():    ‘‘‘過程‘‘‘    print("in the func2")

在fun1中最後一行return 0 ,所以這個函數的傳回值是0

而在fun2中,我們沒有寫傳回值,但是不代表它沒有傳回值,在PYTHON中此時的傳回值是None。

當然我們的傳回值不只是數字或者字串,也可返回一些變數的記憶體位址。

 

關鍵字參數:

def test(name,age=22,*args,**kwargs):    print(name)    print(age)    print(args)    print(kwargs)test(‘周栩強‘,11,22,sex=‘man‘)

在這裡,*args參數傳入資料之後,以元組的形式儲存。**kwargs則是以字典的形式儲存。

這裡我們要注意的是

#**kwargs:用於接受關鍵字參數,不能接受位置參數
而*args則剛好相反

 

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.