当前位置: 首页 > news >正文

Python基础——类型注解

目录

变量的类型注解:

基础容器类型注解:

容器类型详细注解:

 类对象类型注解:

函数和方法的类型注解:

不做类型注解和做类型注解的对比: 

Uion联合类型注解: 


  类型注解是Python3中引入的一种新的语法特性,用于给变量、函数参数和函数返回值等添加类型信息。让Pycham知道也让我们自己清楚类型在代码中添加类型注解增强代码的可读性和可维护性(注解也像注释一样,不会影响程序的运行)。

变量的类型注解:

  使用冒号(:)来指定变量或函数的类型,例如:

基础容器类型注解:
x: int = 10
容器类型详细注解:

  元组类型设置类型详细注解,需要将每一个元素都标记出来。

  字典类型设置类型详细注解,需要标注key和value两个类型。

students:list[str]=['John', 'Jane', 'Bob', 'Alice']
m_tuple:tuple[str, int, float] = ('John', 18, 1.8)
m_set:set[int]={1,2,3}
m_dict:dict[str, int]={'John': 18, 'Jane': 17, 'Bob': 16}
 类对象类型注解:
class Student:pass
s: Student = Student()

  不过以上这种明显能看出他的类型的,我们无需定义,那我们在什么时候需要定义呢?
那当然是无法直接看出变量类型时。
 

  如对random中的函数使用不熟悉,在注释中使用type进行类型注解,如下:

import random
result = random.randint(1, 100) # type: int
print(result)

函数和方法的类型注解:

  例如:

 对形参和返回值类型做类型注解:

# -> int 标记返回值的类型注解
def add(x: int, y: int) -> int:return x + y
不做类型注解和做类型注解的对比: 

  按下Ctrl+P,可以看到进行了注解的参数类型,在调用该函数时,给出了提示。

 

Uion联合类型注解: 

  Union是Python中用于指定联合类型的类型注解。联合类型指的是一个变量可以是多个不同类型中的任意一个。

  使用Union注解时,需要导入typing模块:

from typing import Union

  然后可以使用Union注解来指定一个变量可以是多个类型中的任意一个,例如:

x: Union[int, float] = 10

  使用Union注解可以增加代码的灵活性,可以根据实际需要指定多个可能的类型。但需要注意的是,使用Union注解时要确保所指定的类型是互斥的,即不会同时满足多个类型。

  使用Union注解的一个常见用途是对函数参数或返回值进行类型注解,例如:

def add(x: Union[int, float], y: Union[int, float]) -> Union[int, float]:return x + y


http://www.mrgr.cn/news/53879.html

相关文章:

  • 《中国结算全国股份转让系统—结算参与人数据接口规范》
  • Uos-龙芯架构下无法启动qtcreator
  • 通过OpenCV实现 Lucas-Kanade 算法
  • linux使用df与du命令查看磁盘大小不一致问题
  • 软件设计模式------概述
  • 【Flutter】Dart:环境搭建
  • javaWeb项目-Springboot+vue-XX图书馆管理系统功能介绍
  • 深度学习面试笔试之循环神经网络(RNN)、门控循环单元(GRU)、长短期记忆(LSTM)
  • 一、go入门
  • 安全基线加固
  • Python中的数值及其计算
  • 学习eNSP对准备华为认证有哪些帮助?
  • 【C++打怪之路Lv11】-- stack、queue和优先级队列
  • MySQL 本地社区版安装(不登录) mysql官网链接
  • HarmonyOS NEXT 应用开发实战(七、知乎日报轮播图的完整实现)
  • 集合论基本概念——紧致性(compact或compactness)
  • 【v5Lite】识别+串口
  • 大厂面试真题-了解云原生吗,简单说一下docker和k8s
  • vue之打包配置环境
  • Qt贪吃蛇-游戏房间窗口(3)
  • 设置了超时时间但是不起作用,浏览器里的setTimeout有 bug?
  • Linux下的进程解析(level 2)
  • 闪迪sd卡如何恢复删除的内容?这3种方法很实用
  • 【数据库系统概论】关系数据库标准语言SQL(一)数据定义【超详细】
  • c++基础知识1
  • MYSQL OPTIMIZE TABLE 命令重建表和索引