網站首頁 編程語言 正文
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
相關推薦
- 2022-08-10 C#中通過Command模式實現Redo/Undo方案_C#教程
- 2022-07-13 數據結構之冒泡排序
- 2023-01-29 python?使用pandas讀取csv文件的方法_python
- 2022-03-04 scss的calc計算表達式。沒有起作用是怎么回事
- 2022-09-08 Go語言怎么使用變長參數函數_Golang
- 2022-04-24 淺析GBase8s?唯一索引與非唯一索引問題_數據庫其它
- 2022-11-06 ASP.NET?MVC使用Log4Net記錄異常日志并跳轉到靜態頁_實用技巧
- 2022-11-14 UNIX環境高級編程筆記
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支