开发者

python中的参数类型匹配提醒

目录
  • python参数类型匹配提醒
  • Python函数参数匹配笔记
    • 位置匹配
    • 关键字匹配
    • 默认值
    • 传递任意数量参数
    • 传递的参数是元组
    • 传递任意数量键值对参数
    • 传递的参数是字典表
  • 总结

    python参数类型匹配提醒

    1、对于常见类型,如下:

    def a(b:str):pass

    2、List 类型限制:

    from typing iandroidmport 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:Unphpion[str,int,None]):pass

    不足:

    1、虽然我们指定了List[int]即由int组成的列表,但是,实际中,只要这个列表中存在int(其他的可以为任何类型),就不会出现警告

    2、由于python是即是编译语言,所以pycharm只是提出了警告,但实际上运行时不一定会报错,毕竟python的本质还是动态语言

    Python函数参数匹配笔记

    位置匹配

    def func(a, pythonb, 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'}

    直接传递字典表要加两个星号**解包

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜