python中的类型注解(17)

1.为什么需要类型注解

在PyCharm中编写代码,我们经常能够见到如下提示:
在这里插入图片描述
自动提示可用方法。
那么,Pycharm为什么知道这个对象有append方法呢?

因为:Pycharm确定这个对象,是list类型,所以它可以自动提示和补全。

同样,我们换一份代码:
定义一个函数func,接收一个参数data你会发现,PyCharm不会在做出任何提示了
在这里插入图片描述

  • 为什么内置模块random的方法可以提示类型 自己定义的就不可以?
  • 因为PyCharm无法通过代码确定应传入什么类型我们需要使用类型注解

2.类型注解的语法

2.1为变量设置类型注解

基础语法:变量:类型

  • 基础数据类型注解
var_1: int = 10
var_2: float = 3.1415926var_3: bool = True
var_4: str = "hello"
  • 类对象类型注解
class student:
	pass
stu: student = student()
  • 基础容器类型注解
my_list: list = [123]
my_tuple: tuple = (123)
my_set: set = {123}
my_dict: dict = { "yes" : 666}
my_str: str = "yes"
  • 容器类型详细注解
my_list: list[jnt] =[123]
my_tuple: tuple[strint,boo1] = ("yes"666True)
my_set: set[int] = {123}
my_dict: dict[strint] = { "yes" : 666}

注意:

  • 元组类型设置类型详细注解,需要将每一个元素都标记出来
  • 字典类型设置类型详细注解,需要2个类型,第一个是key,第二个是value

除了使用变量:类型,这种语法做注解外,也可以在注释中进行类型注解。语法:

# type:类型
在注释中进行类型注解
class student:
	pass
var_1= random.randint(110)# type: int
var_2= json.loads(data)
# type: dict[str, int]
var_3 = func(
# type: student

一般,一眼能看出来的类型无需注解,无法看出来的变量类型会添加变量的类型注解。实际上是给别人看的。

简而言之:类似于注释,类型写错了程序也不会报错,也不会有影响,但可以让不了解的人误解

3.掌握使用Union进行联合类型注解

Union类型

  • 数据一种类型
my_list: list[int] = [123]
my_dict: dict[strint] = { "age" : 11"num" : 3}
  • 数据多种类型
my_list = [12"itcast""itheima"]
my_dict ={ "name" : "小周""age" : 31}

  • 使用union类型
 from typing import union
my_list: list[union[strint]] = [12"itheima""itcast"]
my_dict: dict[str,union[strint]] = { "name":"小周""age " : 31}

使用Union[类型,…,类型]
可以定义联合半型注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值