Python指定參數類型

一、python指定參數類型是一個函數

在Python中指定參數類型是通過函數實現的,通常使用typing模塊中的注釋來說明參數的類型。

例如下面的代碼中,注釋說明了參數x的類型為int,y的類型為float,返回值的類型為str。

    import typing
    
    def add(x: int, y: float) -> str:
        return str(x + y)

通過注釋指定參數類型是一種較為常用的方式,但並不是Python強制執行的。

二、Python函數參數的四種類型

Python中函數參數有4種類型,分別是:位置參數、默認參數、關鍵字參數、可變參數。

1. 位置參數

位置參數就是以位置為依據來匹配參數值和形參,數量和位置都需要一一對應。

    def foo(x, y):
        print(x, y)
        
    foo(1, 2) # 1 2

2. 默認參數

默認參數指在定義函數時給參數設定一個默認值,在函數調用時可以不傳遞這個參數。

    def foo(x, y=2):
        print(x, y)
        
    foo(1) # 1 2
    foo(1, 3) # 1 3

3. 關鍵字參數

關鍵字參數指在函數調用時使用關鍵字來指定參數值,可以不按順序傳遞參數。

    def foo(x, y):
        print(x, y)
        
    foo(y=2, x=1) # 1 2

4. 可變參數

可變參數指函數定義時不確定參數的個數,可以通過添加*args或**kwargs來處理。

    def foo(*args):
        for arg in args:
            print(arg)
        
    foo(1,2,3,4) # 1 2 3 4
        
    def bar(**kwargs):
        for k, v in kwargs.items():
            print(k, v)
        
    bar(a=1, b=2, c=3) # a 1 b 2 c 3

三、Python指定數據類型

為了保證代碼的可讀性和健壯性,Python提供了指定數據類型和函數返回值的方法。

1. Python規定參數類型

可以通過聲明函數參數的類型來規定參數的類型,例如下面的代碼中,參數x和y分別規定為int類型和float類型。

    def add(x: int, y: float) -> float:
        return x + y
        
    result = add(1, 2.0)
    print(result) # 3.0

2. Python怎麼指定參數為列表

對於可變參數類型,可以使用List類型來規定參數為列表。

    from typing import List
    
    def foo(xs: List[int]):
        for x in xs:
            print(x)
        
    foo([1, 2, 3])

四、Python參數類型

在Python中,常用的參數類型包括:整數型、浮點型、字符串型、列表型、元組型、字典型和布爾型。

1. 整數型

整數型即整數類型,使用int進行定義,例如下面的代碼中的參數x的類型為整數型。

    def foo(x: int):
        print(x)
        
    foo(1)

2. 浮點型

浮點型即小數類型,使用float進行定義,例如下面的代碼中的參數y的類型為浮點型。

    def foo(y: float):
        print(y)
        
    foo(1.23)

3. 字符串型

字符串型即字符串類型,使用str進行定義,例如下面的代碼中的參數text的類型為字符串型。

    def foo(text: str):
        print(text)
        
    foo('hello world')

4. 列表型

列表型即列表類型,使用List進行定義,例如下面的代碼中的參數xs的類型為列表型。

    from typing import List
    
    def foo(xs: List[int]):
        for x in xs:
            print(x)
        
    foo([1, 2, 3])

5. 元組型

元組型即元組類型,使用Tuple進行定義,例如下面的代碼中的參數xy的類型為元組型。

    from typing import Tuple
    
    def foo(xy: Tuple[int, float]):
        x, y = xy
        print(x, y)
        
    foo((1, 1.23))

6. 字典型

字典型即字典類型,使用Dict進行定義,例如下面的代碼中的參數d的類型為字典型。

    from typing import Dict
    
    def foo(d: Dict[str, int]):
        for k, v in d.items():
            print(k, v)
        
    foo({'a': 1, 'b': 2})

7. 布爾型

布爾型即布爾類型,使用bool進行定義,例如下面的代碼中的參數flag的類型為布爾型。

    def foo(flag: bool):
        if flag:
            print('True')
        else:
            print('False')
        
    foo(True)

五、Python類的參數

Python類也可以使用注釋來指定參數類型,例如下面的代碼中,使用注釋指定參數a和b的類型均為整數。

    class Foo:
        def __init__(self, a: int, b: int):
            self.a = a
            self.b = b
        
        def add(self) -> int:
            return self.a + self.b
            
    f = Foo(1, 2)
    print(f.add()) # 3

六、Python的函數類型

Python中的函數類型包括普通函數、有返回值的函數、有注釋的函數、匿名函數、裝飾器函數等。

1. 普通函數

普通函數就是最常用的函數類型,例如下面的代碼中的函數add就是普通函數。

    def add(x, y):
        return x + y
        
    print(add(1, 2)) # 3

2. 有返回值的函數

有返回值的函數指在函數體中使用return語句返回結果的函數,例如下面的代碼中的函數add就是有返回值的函數。

    def add(x, y):
        return x + y
        
    print(add(1, 2)) # 3

3. 有注釋的函數

在函數定義中,可以使用注釋來指定函數的參數類型和返回值類型,例如下面的代碼中的函數add就是有注釋的函數。

    def add(x: int, y: int) -> int:
        return x + y
        
    print(add(1, 2)) # 3

4. 匿名函數

Python中的匿名函數使用lambda關鍵字定義,例如下面的代碼中的函數f就是一個匿名函數。

    f = lambda x, y: x + y
        
    print(f(1, 2)) # 3

5. 裝飾器函數

裝飾器函數是一種高階函數,用於對其他函數進行添加功能或修改行為,例如下面的代碼中的函數log就是一個裝飾器函數。

    def log(func):
        def wrapper(*args, **kwargs):
            print('start at:', time.time())
            func(*args, **kwargs)
            print('end at:', time.time())
        return wrapper
        
    @log
    def add(x, y):
        print(x + y)
        
    add(1, 2)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246890.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:17
下一篇 2024-12-12 13:17

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • int類型變量的細節與注意事項

    本文將從 int 類型變量的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變量進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變量。 一、定義與聲明 int…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論