1. 程式人生 > >python第九天(自定義函數)

python第九天(自定義函數)

但是 程序 turn return 默認 自定義 括號 none for

一、.函數:

    如果檢測一個元素的長度用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 i print(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第九天(自定義函數)