1. 程式人生 > >函數(1)

函數(1)

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)