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