Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示。为了解决这个问题,Python 3.6 新增了几个特性PEP 484和PEP 526,帮助编辑器为我们提供更智能的提示。这些新特性不会影响语言本身,只是增加一点提示。当你使用比较智能的开发工具比如PyCHarm时,就会感觉到类型提示的方便之处。

变量注解

首先先看看变量注解。它的语法和某些类型后置的语言类似。

# 变量注解

a: int = 5

b: bool = True

f: float = 5.0

s: str = "abc"

声明类型之后,编辑器和IDE就会读取到这个类型注解,然后给予我们相应的提示。程序在运行的时候行为完全不变。

如果是自己编写的类,也可以用作变量注解。

class MyClass:

def fun1(self):

print("fun1")

me: MyClass = MyClass()

me.fun1()

对于较复杂的内置类型、泛型、生成器、自定义类型等,需要引入标准库typing。对于更复杂的类型,请直接参考typing标准库文档。

from typing import TypeVar, Iterable, Tuple, Dict, List

m: Dict[int, int] = {1: 1, 2: 2}

t: Tuple[int, ...] = (1, 2, 3)

l: List[int] = [1, 2, 3, 4]

函数注解

当使用Python编写复杂的函数时,我们常常为没有合适的提示而苦恼。函数注解可以帮助我们解决这个问题。

def add(a: int, b: int) -> int:

return a + b

为函数添加注解之后,当我们调用这个函数的时候,编辑器就会给予对应的提示。当处理大型项目的时候,这个特性会很有用。

函数注解保存在函数的__annotations__属性中,如果你准备编写程序读取它,可以使用这个属性。

print(add.__annotations__)

以上这篇让你的Python代码实现类型提示功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python代码-让你的Python代码实现类型提示功能相关推荐

  1. python 功能 代码_让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  2. python语言必背代码-让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  3. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  4. python怎么显示提示_Python中的类型提示(中)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 3.接口存根文件 这个选项允许你如下图一般保存你的代码: 并在原文件的旁边添加一个扩展名为pyi的文件: ...

  5. 基于python的证件照_20行代码教你用python给证件照换底色的方法示例

    1.图片来源 该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流. 2.读取图片并显示 imread():读取图片: imshow():展示图片: waitkey():设置窗口等待,如果 ...

  6. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例

    本文整理汇总了Python中wordcloud.ImageColorGenerator方法的典型用法代码示例.如果您正苦于以下问题:Python wordcloud.ImageColorGenerat ...

  7. python处理速度_如何让Python处理速度翻倍?内含代码

    原标题:如何让Python处理速度翻倍?内含代码 作为在日常开发生产中非常实用的语言,有必要掌握一些python用法,比如爬虫.网络请求等场景,很是实用.但python是单线程的,如何提高python ...

  8. python登录代码思路_用python登录Dr.com思路以及代码分享

    用python登录Dr.com思路以及代码分享 发布于 2014-08-28 22:31:52 | 192 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...

  9. 1行代码实现Python数据分析:图表美观清晰,自带对比功能丨开源

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 萧箫 发自 凹非寺 转自 | 量子位 你是否也在朋友圈看过这样的小广告: 「你要悄悄学Pyth ...

最新文章

  1. IsomorphicStrings(leetcode205)
  2. 【Android工具】远程登录会话工具免费好用的SSH客户端——JuiceSSH
  3. 滴滴出行2020数据分析面试题
  4. Privatization of Roads in Treeland
  5. mysql 的驱动是多少_mysql驱动参数变化
  6. iOS中监测来电方案
  7. oracle exp 00006,Oracle 12.1新特性----使用RMAN从备份中实现recover table
  8. java单元格合并多列_ElementUI表格列相同值自动合并单元格( 多列 )
  9. MySQL 数据库怎样把一个表的数据插入到另一个表
  10. 3.3栈与递归的实现
  11. oneplus 驱动_OnePlus投放CyanogenMod,Raspberry Pi 2驱动的机器人等
  12. (12)VHDL组合逻辑
  13. Spring MVC学习总结(12)——Spring MVC集成Swagger时报错{schemaValidationMessages:[
  14. python_open3d_Error: The DISPLAY environment variable is missing
  15. 20200607每日一句
  16. Minitab Express 1.5 for Mac 完美版 数据分析工具
  17. 固态硬盘安装记录之数据二次迁移
  18. 你需掌握的CSS知识都在这了
  19. MATLAB错误使用 surf (第 71 行) X、Y、Z 和 C 不能是复数。解决办法。
  20. js 操作在当前日期加减(天、周、月、年数)

热门文章

  1. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
  2. Xen Server 7.0 一直无法退出维护模式
  3. iOS 推送证书制作 (JAVA/PHP)
  4. 判断操作系统多久没有任何操作.e
  5. Bailian2759 神奇的口袋(2)【DP】
  6. Eclipse Scout架构商业应用开发的工具与环境
  7. 2019ICPC亚洲区域赛日程与2019CCPC比赛日程
  8. UVA10579 Fibonacci Numbers【大数】
  9. HDU1205 吃糖果【水题】
  10. POJ3752 字母旋转游戏【水题】