標籤:調用函數 函數 調用 情況 自己 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第九天(自訂函數)