函數(1)
阿新 • • 發佈:2017-12-19
ber tdi post float .org bad string 函數對象 絕對值
調用函數
Python內置了很多有用的函數,我們可以直接調用。
要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs
,只有一個參數。可以直接從Python的官方網站查看文檔:
http://docs.python.org/2/library/functions.html#abs
也可以在交互式命令行通過help(abs)
查看abs
函數的幫助信息。
調用abs
函數:
>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
調用函數的時候,如果傳入的參數數量不對,會報TypeError
的錯誤,並且Python會明確地告訴你:abs()有且僅有1個參數,但給出了兩個:
>>> abs(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: abs() takes exactly one argument (2 given)
如果傳入的參數數量是對的,但參數類型不能被函數所接受,也會報TypeError
的錯誤,並且給出錯誤信息:str是錯誤的參數類型:
>>> abs(‘a‘)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bad operand type for abs(): ‘str‘
而比較函數cmp(x, y)
就需要兩個參數,如果x<y
,返回-1
,如果x==y
,返回0
,如果x>y
,返回1
:
>>> cmp(1, 2)
-1
>>> cmp(2, 1)
1
>>> cmp(3, 3)
0
數據類型轉換
Python內置的常用函數還包括數據類型轉換函數,比如int()
函數可以把其他數據類型轉換為整數:
>>> int(‘123‘)
123
>>> int(12.34)
12
>>> float(‘12.34‘)
12.34
>>> str(1.23)
‘1.23‘
>>> unicode(100)
u‘100‘
>>> bool(1)
True
>>> bool(‘‘)
False
函數名其實就是指向一個函數對象的引用,完全可以把函數名賦給一個變量,相當於給這個函數起了一個“別名”:
>>> a = abs # 變量a指向abs函數
>>> a(-1) # 所以也可以通過a調用abs函數
1
小結
調用Python的函數,需要根據函數定義,傳入正確的參數。如果函數調用出錯,一定要學會看錯誤信息,所以英文很重要!
函數(1)