這一章主要講了位置引數,預設引數等。
在python中定義函式,可以用必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數,這5種引數都可以組合使用。但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。
以下函式允許計算兩個數的乘積,請稍加改造,變成可接收乙個或多個數並計算乘積:這道題我一開始刪除了x項,導致一直通過不了。後來發現是缺少位置引數的設定。
最初的做法:
def
product
(*x)
: re =
1for i in x:
re = re * i
return re
這樣的做法下,print(product())
輸出為1
,這顯然是不對的。
同樣的,在測試埠裡面也強調了位置函式的設定。
# 測試
else
:try
: product(
)print
('測試失敗!'
)except typeerror:
print
('測試成功!'
)
只有在設定了位置引數的情況下,**才能通過。
traceback (most recent call last)
: , line 7,in
print
(product())
typeerror: product(
) missing 1 required positional argument:
'x'
def
product
(x,*y)
:for i in y:
x = x*i
return x
廖雪峰Python 自學筆記 2 函式
3遞迴函式 在python中,定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中編寫函式體,函式的返回值用return語句返回。def my abs x if x 0 return x else return x函式可以同時返回多個值,但其實就是乙個tuple。...
廖雪峰python教程筆記1
d.get thomas 1 檢查字典中是否有 thomas 的key,沒有返回 1,沒有指定返回值預設返回none d.pop bob 刪key 字典key不能為列表 s set 1,2,3 set需要以list作為輸入集合,不能重複且無順序。s.add s.remove s1 s2 s1 s2 ...
廖雪峰Python學習筆記day1
學習參考自 廖雪峰python教程 廖雪峰學習python 3.x vscode 快捷當行注釋 ctrl 或者 ctrl k c vscode 快捷取消注釋 ctrl 或者 ctrl k u vscode 快捷下方插入行 ctrl enter 互動模式下 輸入一行 執行一行 33 2 35 命令列模...