日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python中的參數類型匹配提醒_python

作者:會發paper的學渣 ? 更新時間: 2023-01-18 編程語言

python參數類型匹配提醒

1、對于常見類型,如下:

def a(b:str):pass

2、List 類型限制:

from typing import List
def a(b:List[str]):pass

3、Dict類型限制:

from typing import Dict
def a(b:Dict[str]):pass
?
def c(b:Dict[str,int]):pass

4、Tuple類型:

from typing import Tuple
def a(b:Tuple[str,int]):pass

5、多類型限制:

from typing import Union
def a(b:Union[str,int,None]):pass

不足:

1、雖然我們指定了List[int]即由int組成的列表,但是,實際中,只要這個列表中存在int(其他的可以為任何類型),就不會出現警告

2、由于python是即是編譯語言,所以pycharm只是提出了警告,但實際上運行時不一定會報錯,畢竟python的本質還是動態語言

Python函數參數匹配筆記

位置匹配

def func(a, b, c):
? ? print(a, b, c)

func(1, 2, 3)

輸出:
1 2 3

關鍵字匹配

def func(a, b, c):
? ? print(a, b, c)

func(c=1, b=2, a=3)

輸出:
3 2 1

默認值

def func(a, b=2, c=3):
? ? print(a, b, c)

func(1)

輸出:
1 2 3

傳遞任意數量參數

def avg(*scores):
? ? result = sum(scores) / len(scores)
? ? print(result)

avg(60, 70, 80, 90)

輸出:
75.0

若函數參數個數不確定,定義函數時可以采取“*args”的格式,表明傳遞的參數是元組格式

傳遞的參數是元組

def avg(*scores):
? ? result = sum(scores) / len(scores)
? ? print(result)

scores = (60, 70, 80, 90)
avg(*scores)

輸出:
75.0

不能直接傳遞元組變量,使用函數時傳遞元組要加星號*解包

傳遞任意數量鍵值對參數

def display(**employee):
? ? print(employee)

display(name='Tom', age=22, job='ev')

輸出:
{'name': 'Tom', 'age': 22, 'job': 'ev'}

定義函數時使用兩個星號**表明傳遞的參數為字典表的鍵值對格式,使用函數時傳遞的參數寫成字典表的鍵值對形式

傳遞的參數是字典表

def display(**employee):
? ? print(employee)

emp = {'name': 'Tom', 'age': 22, 'job': 'dev'}
display(**emp)

輸出:
{'name': 'Tom', 'age': 22, 'job': 'ev'}

直接傳遞字典表要加兩個星號**解包

總結

原文鏈接:https://blog.csdn.net/sslfk/article/details/123509439

欄目分類
最近更新