python类型提示

2023-11-07

一、类型提示的好处

1、增强代码的可读性

2、IDE中代码提示

3、静态代码检查(第三方库)

二、IDE中代码中提示功能

1、为参数与返回数据指定类型

def greeting(name: str) -> str:       # -> str: 返回值也可以  
    return 'Hello' + name.split(".") # 指定之后就可以调用str的方法

greeting('5').split() # 设置返回值也可以调用str的方法

2、为类型起别名

Vector = list[float]

def scale(scalar: float, vector: Vector) -> Vector:
    return [scalar * num for num in vector]
from typing import List

Vector = List[float]


def scale(scalar: float, vector: Vector) -> Vector:
    print(scalar,vector)
    return [scalar * num for num in vector]


print(scale(1.1, [1.2, 3.4, 5.5, -4.2]))

3、自定义类型

# 自定义类型
class Student:
    name: str
    age: int

    def get_money(self):
        print('存钱')


def get_stu(name: str) -> Student:
    return Student()


get_stu('lz').  # --> 有相应的提示信息
get_stu('Tom').get_money()

三、静态代码的检查功能

  • pip install mypy
from typing import List
a:List[int] = [] # 必须添加类型提示
a = [1, 2, '1']

# 运行(Terminal) mypy demo.py

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python类型提示 的相关文章

随机推荐

  • leetcode报错:member access within null pointer of type 'struct ListNode'

    背景 在编写判断单链表是否有环时 出现这错误 错误出现原因 错误出现原因 color Red text 38169 35823 20986 29616 21407 22240 因为试图使用空指针 解决方法 解决方法 color Red te
  • 音频模块的介绍

    一 术语总结 1 HIFI 级 HIFI 一词通常指高保真音频 High Fidelity Audio 是指尽可能保持音频信号的原始质量 让听众感受到最真实的音乐表现 因此 HIFI级 通常指具有高保真音频性能的产品或设备 例如高保真耳机
  • MAC使用Visual Studio Code开发C/C++

    MAC使用Visual Studio Code开发C C 一 前置概念 理解 二 环境准备 三 编译 运行 四 补充 一 前置概念 理解 VS code只是一个纯文本编辑器 editor 不是IDE 集成开发环境 不含编译器 compile
  • html天气插件iframe,分享常用7款天气预报代码iframe嵌入网页方式

    如果在网站上加入天气预报功能 你找不到更好的天气预报代码 可以看下本站和大家分享的7款天气预报代码iframe嵌入网页方式 天气预报代码1 src http appnews qq com cgi bin news qq search cit
  • python:pydub模块

    一 安装 1 安装模块 pip install pydub 2 安装插件 云盘中下载文件ffmpeg 打开电脑上的控制面板 系统 高级系统设置 环境变量 然后双击path 看到如下的界面 然后点新建会出现一个新建的地址栏 你需要在这个新建地
  • 备忘:maven 错误信息: Plugin execution not covered by lifecycle configuration

    在一个pom文件中 由于需要设置了一下几个默认goal的版本号 如下
  • 算法题:回文数

    力扣 思路 用栈 public static boolean isPalindrome int x if x lt 0 return false if x 0 return true 怎么取每位数字 String s String valu
  • 2023-DataWorks数仓开发手册收藏版

    DataWorks开发规范 1 数仓基本概念 1 4 1 ods数据源层表命名规范 1 4 2 dim维表层表命名规范 1 4 3 dwd数据明细层表命名规范 1 4 3 dws数据明细层表命名规范 1 4 4 ads数据应用层表命名规范
  • Docker从入门到精通

    目录 一 初识 Docker 1 Docker概念 2 安装Docker CentOS系统 3 Docker的架构 4 阿里云镜像加速 5 Docker容器虚拟化 与 传统虚拟机比较 二 Docker 服务相关命令 1 启动docker 服
  • 普通树转二叉树:左儿子右兄弟表示法

    这两天在吃力地学DP的优化 被虐地不行不行的 搞个小插曲 左儿子右兄弟 顾名思义 是一棵转换后的树 它是一棵二叉树 一个节点的左子树表示的是原树中这个节点的子节点 一个节点的右子树表示的是这个节点在原树中的兄弟 父节点相同的点 这么表示有什
  • 【机器学习】Reinforcement Learning-强化学习学习笔记

    一 强化学习的定义 1 1 什么是强化学习 首先 强化学习并不是某一种特定的算法 而是一类算法的统称 解决序列决策问题的一类方法 通过寻求最优策略 获取最大回报 强化学习就是智能体从环境到动作映射的学习 以使回报信号 激励信号 函数值最大
  • 在LINUX上安装Memcache服务器(实践记录)

    下载并安装Memcache服务器端 服务器端主要是安装memcache服务器端 下载 http www danga com memcached dist memcached 1 2 2 tar gz memcached 1 4 5 tar
  • Redux原理分析

    Redux原理分析 Redux是什么 很多人认为redux必须要结合React使用 其实并不是的 Redux 是 JavaScript 状态容器 只要你的项目中使用到了状态 并且状态十分复杂 那么你就可以使用Redux管理你的项目状态 它可
  • 如何卸载华为手机内置app

    作者 朱金灿 来源 clever101的专栏 为什么大多数人学不会人工智能编程 gt gt gt 最近自用的华为手机的存储空间快满了 想把手机内置的app清理一下 然后到网上搜索解决方案 大致弄明白了步骤 主要是通过华为手机内置APP卸载工
  • windows下cmd快速生成大文件命令

    fsutil file createnew 文件名 文件大小
  • C/C++中的头文件加上头文件中的ifndef/define/endif有什么作用?

    参考博客 https blog csdn net summer00072 article details 80883514 主要的作用就是防止头文件重复包含了 这个作用在Qt中是已经给你做好了 qt新建一个文件的时候就会直接给你建立完毕
  • Android结合ButterKnife创建自己的BaseActivity(兼容6.0)

    在Android开发中 我们需要创建一个BaseActivity来方便对APP中所有的activity进行统一操作 今天我们就来说说如何结合ButterKnife来打造一个加强版的BaseActivity 不熟悉ButterKnife的朋友
  • 类的默认成员函数【拷贝(复制)构造函数】

    拷贝 复制 构造函数 用一个已经存在的对象初始化另一个新对象时 编译器会自动调用拷贝构造函数 1 拷贝构造函数是构造函数的一种重载形式 2 拷贝构造函数的参数 单个形参 传递const类类型的引用 1 如果传值引用 会引发无穷调用 2 如果
  • Python输出\u编码将其转换成中文

    爬取了下小猪短租的网站出租房信息但是输出的时候是这种 百度了下 python2 7在window上的编码确实是个坑 解决如下 如果是个字典的话要先将其转成字符串 导入json库 然后 这么输出 json dumps data decode
  • python类型提示

    一 类型提示的好处 1 增强代码的可读性 2 IDE中代码提示 3 静态代码检查 第三方库 二 IDE中代码中提示功能 1 为参数与返回数据指定类型 def greeting name str gt str gt str 返回值也可以 re