typing模块的作用:

  • 类型检查,防止运行时出现参数和返回值类型不符合。
  • 作为开发文档附加说明,方便使用者调用时传入和返回参数类型。
  • 该模块加入后并不会影响程序的运行,不会报正式的错误,只有提醒。

注意:typing模块只有在python3.5以上的版本中才可以使用,pycharm目前支持typing检查

下面说说typing模块常用的方式:

from typing import List, Tuple, Dict
def add(a:int, string:str, f:float, b:bool) -> Tuple[List, Tuple, Dict, bool]:list1 = list(range(a))tup = (string, string, string)d = {"a":f}bl = breturn list1, tup, d,bl
print(add(5,"hhhh", 2.3, False))
# 结果:([0, 1, 2, 3, 4], ('hhhh', 'hhhh', 'hhhh'), {'a': 2.3}, False)

说明:

在传入参数时通过“参数名:类型”的形式声明参数的类型;

返回结果通过"-> 结果类型"的形式声明结果的类型。

在调用的时候如果参数的类型不正确pycharm会有提醒,但不会影响程序的运行。

对于如list列表等,还可以规定得更加具体一些,如:“-> List[str]”,规定返回的是列表,并且元素是字符串。

由于python天生支持多态,迭代器中的元素可能多种,如下:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from typing import List
def func(a:int, string:str) -> List[int or str]:list1 = []list1.append(a)list1.append(string)return list1
# 使用or关键字表示多种类型
  • typing常用的类型:
  • int,long,float: 整型,长整形,浮点型;
  • bool,str: 布尔型,字符串类型;
  • List, Tuple, Dict, Set:列表,元组,字典, 集合;
  • Iterable,Iterator:可迭代类型,迭代器类型;
  • Generator:生成器类型;

【Python教程】typing模块的作用-提高代码健壮性相关推荐

  1. python教程:模块的作用与说明

    Python模块 如果你从Python解释器退出并再次进入,之前的定义(函数和变量)都会丢失.因此,如果你想编写一个稍长些的程序,最好使用文本编辑器为解释器准备输入并将该文件作为输入运行.这被称作编写 ...

  2. 【转】使用python3的typing模块提高代码健壮性

    https://blog.csdn.net/wjy397/article/details/78711125 转载于:https://www.cnblogs.com/LJ-LJ/p/9728481.ht ...

  3. 关于提高代码复用性的几个知识点的回顾

    在java学习过程中,我发现有几个知识点,它们的作用都包含有提高代码的复用性.所谓提高代码复用性,简单来说就是能够让一个东西重复操作,还能减少工作量(也就是懒人思想).目前提到提高代码复用性的知识点有 ...

  4. c++代码健壮性_复活Navex-使用图查询进行代码分析(上)

    从了解到修复 Navex, 其中花了一年多, 从对自动化代码审计一无所知到学习PL/Static Analysis, 翻阅十几年前的文档, 补全Gremlin Step, 理解AST, CFG, DD ...

  5. php代码的健壮性,代码健壮性的几点思考 - 逍遥客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    自动化一直如火如荼的发展的,但同时,很多从业者在经历了最初的热情.激进之后,也会陷入了冷静的思考:那就是投入产出比问题,那就是自动化测试是否真的给测试工作带来了质的改变. 在诸多的引起思考,带来彷徨的 ...

  6. 后端开发总结(3):代码健壮性:容错处理+测试

    代码健壮性:容错处理+测试 1.1 客户端接收云端请求容错处理 1.2 参数校验 1.3 测试 1.1 客户端接收云端请求容错处理 几种错误情况 没有请求通,没有返回.服务端错误,对应的就是http ...

  7. python教程--__init_.py的作用

    __init__.py 的作用 python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module. 那么,__init__.py还有什么别的功能呢? ...

  8. Python 包、模块、类以及代码文件和目录的一种管理方案

    摘要: 一.模块: 模块实质上就是一个以.py结尾的文件,可以被其他py文件调用: 使用模块:大大提高了代码的可维护性:编写代码不必从零开始:当一个模块编写完毕,就可以被其他地方引用! 导入模块时,会 ...

  9. 设计模式第二弹: 不知道怎么提高代码复用性?看看这几种设计模式吧!

    本文是设计模式的第二篇文章,第一篇文章是不知道怎么封装代码?看看这几种设计模式吧!,后面还会有提高扩展性,提高代码质量的设计模式,点个关注不迷路,哈哈~ 想必大家都听说过DRY原则,其实就是Don't ...

最新文章

  1. 6位专家耗时90天打造,Python的核心知识,都在这里了!
  2. 根据传入url请求,返回json字符串
  3. linux kbhit扫描键盘,(转)检测按键(Linux中kbhit()函数的实现)
  4. ggplot01:R语言坐标轴离散、连续与图例离散连续的区分
  5. 面试:为什么 https 比 http 更安全?
  6. Linux笔记:vim
  7. DX使用随记--GroupControl
  8. android 之 Activity管理与Intent的六大属性
  9. 您应该知道的ES2020中的10个JavaScript新功能
  10. 减少页面加载时间的方法
  11. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...
  12. 在河北当中学老师用不用考计算机,想当教师没编制?两类教师不用考,直接进编制...
  13. Hdu 1026 Ignatius and the Princess I
  14. Linux字符设备驱动详解
  15. 实验室检测专用计算机的维护保养,计算机实验室维护与管理.doc
  16. 附资料:工程总承包项目管理流程图(全套)
  17. 谷歌浏览器设置护眼模式,全黑主题
  18. Mac 安装 MAT内存分析工具
  19. GY-BMP280-3.3 高精度大气压强传感器模块
  20. kibana异常 License information from the X-Pack plugin could not be obtained from Elasticsearch

热门文章

  1. CSRF, XSS, Sql注入原理和处理方案
  2. 分布式数据库切分规则介绍
  3. 设计模式之中介者模式(mediator模式)
  4. 清理disuz垃圾用户信息SQL语句
  5. 黑马程序员_java异常处理机制
  6. C# WinForm自定义拖动窗体
  7. jQuery.validate.js API
  8. 网络系统工程师的最终归宿(一)创业还是打工
  9. 【MM模块】 Info Record 采购信息记录
  10. SAP打印机原理、打印配置及打印操作