調用函數

標籤: ,

該主題包含 0 則回覆,有 1 個參與人,並且由  BettyBDChiang6 年, 11 月 前 最後更新。

正在檢視 1 篇文章 - 1 至 1 (共計 1 篇)
  • 作者
    文章
  • #1175

    BettyBDChiang
    參與者

    轉載自廖雪峰的官方網站

    Python內置了很多有用的函數,我們可以直接調用。

    要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs,只有一個參數。可以直接從Python的官方網站查看文檔:

    http://docs.python.org/3/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'
    

    而max函數max()可以接收任意多個參數,並返回最大的那個:

    >>> max(1, 2)
    2
    >>> max(2, 3, 1, -5)
    3

    資料型態轉換

    Python內置的常用函數還包括資料型態轉換函數,比如int()函數可以把其他資料型態轉換為整數:

    >>> 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

    函數名其實就是指向一個函數物件的引用,完全可以把函數名賦給一個變數,相當於給這個函數起了一個“別名”:

    >>> a = abs # 變數a指向abs函數
    >>> a(-1) # 所以也可以通過a調用abs函數
    1

    小結

    調用Python的函數,需要根據函式定義,傳入正確的參數。如果函式呼叫出錯,一定要學會看錯誤資訊,所以英文很重要!

正在檢視 1 篇文章 - 1 至 1 (共計 1 篇)

抱歉,回覆主題必需先登入。