首页 > 编程语言 >python 的 Type Hint 类型标注学习笔记

python 的 Type Hint 类型标注学习笔记

时间:2023-02-26 12:35:14浏览次数:27  
标签:return Hint python print int 类型 Type Any def

学习笔记,用于本人忘记知识点时回顾。

int

在变量后加 int 即可声明该变量为 int 类型,当调用该函数时,如果填入的参数不为 int 类型,则报错。

函数名后加 -> int 声明该函数返回值为 int 类型。

def f(a: int, b: int) -> int:
    return a + b

print(f(1, 2))      # 输出 3
print(f('a', 'b'))  # 报错,输入的不是 int 类型变量

list

lst 变量后面加入 list[int] 声明 lst 变量为 list 类型,list 内部变量为 int 类型。

def f(lst: list[int]) -> int:
    total = 0
    for i in lst:
        total += i
    return total

print(f([1, 2, 3]))  # 输出 6

dict

dict 需要传入 key 的类型以及 value 的类型。

def f(d: dict[str, int]) -> int:
    total = 0
    for i in d.values():
        total += i
    return total

print(f({'a': 1, "b": 2}))  # 输出 3

不固定的类型

当传入的参数类型不是固定的时候,可以使用 | 来声明函数的变量类型。

def f(x: int | None | float) -> int | float:
    if x is None:
        return 0
    else:
        return x

print(f(None))  # 输出 0
print(f(3))     # 输出 3

不确定的类型

使用 Any 来表明该变量为不确定、任意的,不填写变量类型的情况下,系统会默认填写 Any(手动填写上可以使代码可读性增加)。

from typing import Any

def f(a: Any) -> Any:
    return a

无返回值

函数无返回值时,默认为 None,可以不写但是系统会默认填 None

from typing import Any

def f(a: Any) -> None:
    a += 1

多选一

加入 Literal 则声明该变量的值只能是 Literal 里面的其中一个。

from typing import Literal

def f(a: int, b: Literal[True, False]) -> int:
    if b is True:
        return a
    else:
        return 0

print(f(1, True))

标签:return,Hint,python,print,int,类型,Type,Any,def
From: https://www.cnblogs.com/zhangxiaochn/p/17156456.html

相关文章

  • python enumerate
    ​​enumerate​​(iterable, start=0)Returnanenumerateobject. iterable mustbeasequence,an ​​iterator​​​,orsomeotherobjectwhichsupportsiter......
  • Python 学习05 函数
    49、函数的定义50、函数的参数51、灵活地使用函数参数......
  • Python笔记--练习题(都来瞧一瞧,看一看嘞)
    利用Python对文件进行操作重新写入的文件如下图所示:统计学生成绩文件的最高分最低分和平均分Python如何统计英文文章出现最多的单词Python统计目录下的文件大小......
  • spring 中 singleton 和 prototype 作用域的比较
    SpringBean作用域主要了解singleton和prototype就好了,他们分别使用单例模式和原型模式来源说明singleton默认作用域,一个BeanFactory有且仅有一个实......
  • python计算Friedman排名代码
    python计算Friedman排名代码首先先说输入数据,为了迅速处理,采用csv格式的表格,读者可以先理解这里提供的示例和代码,再自行调整下面是代码,代码会生成一个排名文件Rank.c......
  • Python 元组tuple、 列表list、 字典dict、集合set、迭代器、生成器
    一、元组:tuplePython的元组与列表类似,不同之处在于元组的元素不能修改。元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组tup2=(111,22,33,......
  • python-djanggo 实现读取excel 表格在网页中展示
    1.准备读取数据放到项目文件夹下   2.熟悉表结构    3.准备处理依赖库pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepandasopenpyxl  ......
  • Python学习记录-异常处理函数的简单使用
    有时一些程序即便语法合规,但在执行过程中也会出现错误,比如下面这个例子defspam(divideBy):return10/divideByprint(spam(10))print(spam(20))print(spam(0))p......
  • Python | 正则表达式(re模块)
    正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串re模块是python独有的匹配字符串的模块,该模块种提供功能基于正则表达式实现的,对于字符串进行模糊匹......
  • 用Python画数据分析第三章的图
    importpandasaspdcatering_sale="D:\数据分析\catering_sale.xls"data=pd.read_excel(catering_sale,index_col=u'日期')print(data.describe())importmatplot......