python课堂整理9---函数1
生活随笔
收集整理的這篇文章主要介紹了
python课堂整理9---函数1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數
一. 函數就是為了完成某一個特定的功能
形式參數不占運行空間,只有傳入實參后才占,用完立刻釋放空間。
函數一遇到 return 就結束掉了
函數名() :運行函數,有返回值的話用變量承接
def test(x): # x稱為形式參數#注釋函數功能x += 1 #代碼塊return x #返回值例:
def test(x):y = 2 * x + 1return y a = test(3) print(a)二、使用函數的好處
1. 代碼的重用
2. 保持一致性,易維護
3. 可擴展性
def logger():'日志功能'
pass
def index():
logger() #調用函數使用日志功能
print('index')
def home():
logger() #調用函數使用日志功能
print('home')
三、 函數和過程
過程就是沒有返回值的函數
沒有返回值(沒有寫return),返回None
返回一個值,返回object
返回多個值(return 0,1,2,3),返回tuple(0,1,2,3)
四、函數參數:
函數定義時也可以不傳入形參,但要在函數體中給定值
def test():x = 2y = x ** 2return y a = test() print(a)4.1 位置參數?
要和形參一一對應,缺一不可,多一也不可
def test(x, y, z):print(x)print(y)print(z) test(1, 2, 3)4.2 關鍵字參數
位置無需固定,缺一不行,多一也不行
def test(x, y, z):print(x)print(y)print(z) test(y = 1, x = 3, z = 2)若混合使用,位置參數必須在關鍵字參數的左邊
test(1, y = 2, 3) #報錯 test(1, 3, z = 2, y = 4) #報錯,y只能傳一個值 test(1, 3, z = 2) #正確4.3 默認參數
def test(x, type = 'dabai'):print(x)print(type) test(1) test(1, '唉') # 傳入的實參會覆蓋默認參數五、參數組(非固定長度的參數)? *列表? **字典
*args 把位置參數處理成列表的形式
def test(x, *args):print(x)
print(args)
print(args[0])
test(1, 2, 3, 4, 5)
開發的時候,預留一個 *args 用來以后擴展時用,可以先不傳入參數,不會報錯
傳入列表和字典時,把列表和字典當成一個整體作為了元組的第一個元素
def test(x, *args):print(x)print(args) test(1, {'name': 'dabai'}) test(1, [2,3,5,6,7])如果想把列表中的每一個元素都作為參數傳給args? 則用 *args
def test(x, *args):print(x)print(args) test(1, *[2,3,5,6,7])若是處理多個關鍵字參數,用 **kwargs
def test(x, **kwargs):print(x)print(kwargs) test(1, y = 2, z = 3)混合使用
def test(x, *args, **kwargs):print(x)print(args, args[1])print(kwargs, kwargs.get('z')) test(1, 1, 2, 3, 4, 5, y=2, z=3) def test(x, *args, **kwargs):print(x)print(args, args[1])print(kwargs, kwargs.get('z')) test(1, *[1,2,3,4], **{'z': 1, 'y': 3})?
轉載于:https://www.cnblogs.com/dabai123/p/11027965.html
總結
以上是生活随笔為你收集整理的python课堂整理9---函数1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang基础归纳
- 下一篇: python作业6月14日