一、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-tw/n/246890.html
微信掃一掃
支付寶掃一掃