python第九天(自訂函數)

來源:互聯網
上載者:User

標籤:調用函數   函數   調用   情況   自己   class   資料   nbsp   div   

一、.函數:

    如果檢測一個元素的長度用len非常簡單,也可以寫個迴圈來做。

s = ‘asd‘def my_len():    i = 0    for k in s:        i += 1    print(i)my_len()

二、.傳回值:

    如果print列印這個函數,結果返回None,如果想要有傳回值的話就要用return i。

    在函數裡遇到return直接退出函數。

      return傳回值的3種情況: 遇到return直接退出函數

        沒有傳回值: 返回None

          1.不寫return

          2.唯寫return 

          3.return None

        返回1個值:

          1.可以返回任何資料類型

          2.只要返回就可以接收到

          3.如果在一個程式中有多個return,那麼只執行第一個return就退出函數

        返回多個值:

          1.用多個變數接收:有多少傳回值就用多少變數接收

          2.用一個變數接收:得到的是一個元祖

三、傳參函數

    還是列印元素長度,但是元素不固定,可以自己輸入就需要用到傳參了。    

def func(s):        #行參    i = 0    for j in s:        i += 1    return iprint(func(‘asdf‘))    #實參

    通過s傳入參數。

      參數:

        沒有參數:定義函數和調用函數時括弧裡為空白。

        有一個參數:傳什麼就是什麼

        有多個參數:位置參數

    

      參數分類:

        行參:

          順序:位置參數、*args、預設參數、**kwargs

          位置參數:直接定義參數

          預設參數(關鍵字參數):參數名 = ‘預設的值’  #如果實參裡也定義了,實參優先

          動態參數:可以接受任意多個參數

            #多個位置參數:*args  接收按照位置傳參的值,組成一個元祖。

            #多個預設參數:**kwargs  接收按照預設傳參的值,組成一個字典。

        實參:

          按照位置傳參:位置參數需要幾個就傳幾個值,*args無限傳。

          按照關鍵字傳參:如果行參有預設參數可以不傳值,傳了的按照實參的值運行,有**kwargs可以無限傳。

      位置參數

def func(x,y):    if x > y:        print(x)    else:        print(y)func(3,2)

      預設參數

def func(x=1,y=4):    if x > y:        print(x)    else:        print(y)func()

      動態傳參

def func1(*args):    print(args)func1(1,2,3)def func2(**kwargs):    print(kwargs)func2(a = 1,b = 2,c = 3)

 

      動態參數另一種傳參方式:傳入列表或字典。

def func1(*args):    print(args)func1(1,2,3)l = [1,2,3]func1(*l)def func2(**kwargs):    print(kwargs)func2(a = 1,b = 2,c = 3)d = {‘a‘:1,‘b‘:2,‘c‘:3}func2(**d)

 

四、函數注釋:   

    def func():
      ‘‘‘
      這個函數實現了什麼功能
      參數1:
      參數2:
      :return:
      ‘‘‘

 

      

  

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.