5.1 調(diào)用函數(shù)
Python內(nèi)置了很多有用的函數(shù),我們可以直接調(diào)用。
要調(diào)用一個函數(shù),需要知道函數(shù)的名稱和參數(shù),比如求絕對值的函數(shù)abs
,只有一個參數(shù)。可以直接從Python的官方網(wǎng)站查看文檔:
http://docs.python.org/3/library/functions.html#abs
也可以在交互式命令行通過help(abs)
查看abs
函數(shù)的幫助信息。
調(diào)用abs
函數(shù):
>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
調(diào)用函數(shù)的時候,如果傳入的參數(shù)數(shù)量不對,會報TypeError
的錯誤,并且Python會明確地告訴你:abs()
有且僅有1個參數(shù),但給出了兩個:
>>> abs(1, 2)?
Traceback (most recent call last):
?File "<stdin>", line 1, in <module>
TypeError: abs() takes exactly one argument (2 given)
如果傳入的參數(shù)數(shù)量是對的,但參數(shù)類型不能被函數(shù)所接受,也會報TypeError
的錯誤,并且給出錯誤信息:str
是錯誤的參數(shù)類型:
>>> abs('a')?
Traceback (most recent call last):
?File "<stdin>", line 1, in <module>
TypeError: bad operand type for abs(): 'str'
而max
函數(shù)max()
可以接收任意多個參數(shù),并返回最大的那個:
>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3
數(shù)據(jù)類型轉(zhuǎn)換
Python內(nèi)置的常用函數(shù)還包括數(shù)據(jù)類型轉(zhuǎn)換函數(shù),比如int()
函數(shù)可以把其他數(shù)據(jù)類型轉(zhuǎn)換為整數(shù):
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
函數(shù)名其實就是指向一個函數(shù)對象的引用,完全可以把函數(shù)名賦給一個變量,相當(dāng)于給這個函數(shù)起了一個“別名”:
>>> a = abs # 變量a指向abs函數(shù)
>>> a(-1) # 所以也可以通過a調(diào)用abs函數(shù)1
小結(jié)
調(diào)用Python的函數(shù),需要根據(jù)函數(shù)定義,傳入正確的參數(shù)。如果函數(shù)調(diào)用出錯,一定要學(xué)會看錯誤信息,所以英文很重要!