Python – Function & Return

測試環境為 CentOS 8 x86_64 (虛擬機)

下面來看一下 Function 與 Return 的使用.

[root@localhost ~]# python3
Python 3.6.8 (default, Mar 25 2022, 11:15:52)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-10)] on linux
Type "help", "copyright", "credits" or "license" for more information.

function – def
透過 def 來建立 multi function ( 需輸入參數 n 跟 m ).

>>> def multi(n,m):
...     print(n*m)
...
>>> multi(2,3)
6

Return
使用 return 回傳值.

>>> def multi(n,m):
...     print(n*m)
...
>>> multi(2,3)
6
>>> def multi(n,m):
...     return n*m
...
>>> print(multi(2,3))
6

以上簡單說明完 Function 與 Return 的使用方式,下面來詳細看一下其進階的使用方式.

Function

  • 預設引數值
    使用預設 輸入參數 n=1 跟 m=1 .

    >>> def multi(n,m):
    ...     return n*m
    ...
    >>> print(multi(2,3))
    6
    >>> def multi(n=1,m=1):
    ...     return n*m
    ...
    >>> print(multi())
    1
    >>> print(multi(3))
    3
    >>> print(multi(3,4))
    12
    

    說明:
    當無輸入參數時,使用預設參數 n=1 跟 m=1 .

    print(multi())
    

    當只有一輸入參數時, m 使用預設參數 1 .

    print(multi(3))
    

    都有參數

    print(multi(3,4))
    
  • 關鍵字引數
    在呼叫函數時指定其參數名稱.

    >>> def multi(n=1,m=1):
    ...     return n*m
    >>> print(multi(m=2))
    2
    >>> print(multi(n=3,m=2))
    6
    >>> print(multi(n=5))
    5
    

    說明:
    指定輸入參數 m=2 ,n 使用預設參數為 1.

    print(multi(m=2))
    

    指定輸入參數 n=3 與 m=2.

    print(multi(n=3,m=2))
    

    指定輸入參數 n=5 ,m 使用預設參數為 1.

    print(multi(n=5))
    
  • *args (*) , **kwargs (**)
    請參考 – https://benjr.tw/104484

Return

  • 範例 : 回傳數字( int , float ) ,字串( str )
    >>> def returnfun():
    ...     return "Test Result"
    ...
    >>> result=returnfun()
    >>> result
    'Test Result'
    >>> type(result)
    <class 'str'>
    
    >>> def returnfun():
    ...     return 12
    ...
    >>> result=returnfun()
    >>> result
    12
    >>> type(result)
    <class 'int'>
    
    >>> def returnfun():
    ...     return 12.1
    ...
    >>> result=returnfun()
    >>> result
    12.1
    >>> type(result)
    <class 'float'>
    
  • 範例 : 回傳串列( list )
    >>> def returnfun():
    ...     return [12.1 , 1 , "Test"]
    ...
    >>> result=returnfun()
    >>> result
    [12.1, 1, 'Test']
    >>> type(result)
    <class 'list'>
    
  • 範例 : 回傳 元組 ( tuple )
    Tuple 跟 List 資料型態物件類似,但 Tuple 為 不可變( Immutable) 使用者無法新增,刪除,修改其內容,並 使用 小括號表示為 Tuple 資料型態.

    >>> def returnfun():
    ...     return (1 , "test" , 1,5)
    ...
    >>> result=returnfun()
    >>> result
    (1, 'test', 1, 5)
    >>> type(result)
    <class 'tuple'>
    
  • 範例 : 回傳字典( dict )
    dict ( dictionary ),資料是由 key (鍵值,可使用 括字串(str),整數(int)與浮點數(float) ) + Value (值,可以為任何東西).定義使用大括號{} 來表示為 dic ,內的格式為 key:valu ( pair 組成 並由逗點隔開)

    >>> def returnfun():
    ...     return {"v1":12.1 ,2:1 , "v3":"Test"}
    ...
    >>> result=returnfun()
    >>> result
    {'v1': 12.1, 2: 1, 'v3': 'Test'}
    >>> type(result)
    <class 'dict'>
    
  • 範例 : 回傳多個資料
    回傳多個資料時一樣是 Tuple 資料型別.

    >>> def returnfun():
    ...     return 1 , "test"
    ...
    >>> result=returnfun()
    >>> result
    (1, 'test')
    >>> type(result)
    <class 'tuple'>
    

    可以使用多個物件來承接資料.

    >>> result1 , result2 =returnfun()
    >>> result1
    1
    >>> type(result1)
    <class 'int'>
    >>> result2
    'test'
    >>> type(result2)
    <class 'str'>
    
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料