Python-函數的初始

來源:互聯網
上載者:User

標籤:類型   python   三元   *args   代碼執行   要求   接收   參數   邏輯   

一、函數的作用

  有一個需求,求出一個列表的長度

#求s1字串的長度s1="1234566"count= 0for i in s1:    count += 1print(count)

#如果又要求s2="5543322"的長度呢?你只能將求s1的代碼重複一遍

  如果使用函數呢?

def  my_len():    st = "123321123"    count= 0    for i in st:        count += 1    print(count) #調用函數my_len()#就可以得到字串的長度

1、函數結構

Python的代碼執行過程,從上之下讀取,到def的時候,只將函數名字存入記憶體,不去讀取函數內部的內容,在調用函數的時候,才會返回函數名出,調用函數內部代碼

  註:函數在實際工作中,不要在函數體中寫print,因為函數的作用是邏輯過程

def   關鍵字   函數名(設定於變數相同):#冒號的作用是隔開函數名和函數體

  函數體

def  my_len():    st = "123321123"    count= 0    for i in st:        count += 1    return count

 

函數的執行 :函數名+括弧

my_len()  #相當於函數的執行者(調用者)

 2、return(傳回值)

功能:1,遇到return,結束函數

def  func1():    print("1")    print("2")    return     print("3")    print("4")func1()#這裡結果只顯示1,2,不會顯示3和4,因為在函數體執行遇到return的時候,就會停止運行函數體

   2、給函數的調用者傳回值

def  func1():    return 1def  func2():    returndef  func3():    return 1,2,3print(func1())print(func2())a,b,c=func3()print(a,b,c)‘‘‘傳回值的情況有3種    func1 的return返回的是數值1      func2 的return返回的是數值None     func3 的return返回的是一個(1,2,3),類型為元組              可以將元組的值分別賦給a,b,c    ‘‘‘      

稍後整理會,敬請期待

3、函數的傳參

#從實參角度   單個的參數預設用argv表示

  1、位置參數

  2、關鍵字參數

  3、混合參數  關鍵字參數必須在位置參數後邊

  三元運算式

 

#從形參角度 

  1、位置參數

  2、預設參數

  3、動態參數 (*args,**kwargs) 萬能傳參

    args:接收所有位置參數,以元組的形式

    kwargs:接收所有的關鍵字參數,並放入字典中

參數的位置

 

函數的執行:* 打散肝功能,將提供的可迭代對象的沒個元素,才開放入到*args裡面中

 *args的* 是函數的定義中加*,是將你所傳入的位置參數彙總,添加到一個元組中,

**kwargs的* 是函數的定義中加**,是將你所傳入的關鍵字參數彙總,添加到一個字典中

 

函數的進階

 

內建的名稱空間,可以引用,不可以修改,如果想要引用需要用到global

global的作用

    1、聲明沒有的全域變數

    2、在函數內更改已有的全域變數

nonlocal的作用  :只對局部變數進行引用和改變,並且之後的引用也是改變只有的

    1、不能操作全域變數

    2、在修改了變數後,之後的引用都會改變

函數名:

    1、可以相互賦值

    2、可以當做函數的參數

    3、可以當做容器類函數的參數

      

 

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.