第十章、typing模块
第十章、typing模块
一、说明
二、typing模块的作用
- 类型检查,防止运行的时候出现参数和返回值类型不符合
- 可以作为开发文档附加说明,方便使用者调用时传入和返回参数类型
- 加入模块不会影响运行,不会报错,只是提醒,具有规范提醒的作用
三、使用typing模块
from typing import List,Tuple,Dict
def add(x:int,y:int)->Tuple(list):#List[int or str]声明使用or关键字表示多种类型
return x+y
res=add(4.2,2)#4.2下面有下划线,提醒规范性
print(res)
- 在传入参数时,通过“参数名:类型”的形式声明参数的类型
- 返回结果时通过->结果类型的形式声明结果的类型
- 在调用的时候如果参数的类型不正确pycharm会有提醒,不会影响程序的运行
- 对于list等类型,还可以规定得更加具体点,如:"-> List[str]”,规定返回的是列表,并且元素是字符串。
四、typing常用类型
- int、long、float: 整型、长整形、浮点型
- bool、str: 布尔型、字符串类型
- List、 Tuple、 Dict、 Set:列表、元组、字典、集合
- Iterable、Iterator:可迭代类型、迭代器类型
- Generator:生成器类型
第十章、typing模块的更多相关文章
- 使用python3的typing模块提高代码健壮性
前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,加上Python本身就是一门弱类型的语言,这种 ...
- typing模块
目录 一.引言 二.typing模块的作用 三.使用typing模块 四.typing常用类型 一.引言 前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么 ...
- python3.5以上版本,typing模块提高代码健壮性
一 前言 Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数, ...
- python类型检测最终指南--Typing模块的使用
正文共:30429 字 预计阅读时间:76分钟 原文链接:https://realpython.com/python-type-checking/ 作者:Geir Arne Hjelle 译者:陈祥安 ...
- 模块讲解---time模块,datetime模块,random模块,hashlib模块和hmac模块,typing模块,requests模块,re模块
目录 1. 包 2. time模块 1. 优先掌握 2. 了解 3. datetime模块 1. 优先掌握 4. random模块 1. 优先掌握 2. 了解 5. hashlib模块 ...
- typing 模块
目录 typing模块 一.引言 二.typing模块的作用 三.使用typing模块 四.typing常用类型 typing模块 目录 一.引言 二.typing模块的作用 三.使用typing模块 ...
- Python - typing 模块 —— 常用类型提示
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...
- python进阶(21)typing模块--类型提示支持
typing介绍 Python是一门弱类型的语言,很多时候我们可能不清楚函数参数的类型或者返回值的类型,这样会导致我们在写完代码一段时间后回过头再看代码,忘记了自己写的函数需要传什么类型的参数,返 ...
- Python - typing 模块 —— 类型别名
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...
随机推荐
- ThreadLocal详解【使用场景】
转: 么是ThreadLocal 根据JDK文档中的解释:ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性. 从这里可以看出,引入Thre ...
- 在Android初次的前期学习中的二个小例子(2)
Hello13:SQLite数据库 一.简述SQLite的概念和主要特性 SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,使用非常方便,支持SQL语法标准和数据库事务原则. 相对于Sh ...
- Linux系统调优相关工具
一.系统调优概述 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确) ...
- centos7.6安装docker
先运行 yum update 然后卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ do ...
- JAVA 基础编程练习题5 【程序 5 判断分数等级】
5 [程序 5 判断分数等级] 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示, 60 分以下的用 C 表示. 程序分析:(a&g ...
- Go项目实战:打造高并发日志采集系统(五)
前情回顾 前文我们完成了如下功能1 根据配置文件启动多个协程监控日志,并启动协程监听配置文件.2 根据配置文件热更新,动态协调日志监控.3 编写测试代码,向文件中不断写入日志并备份日志,验证系统健壮性 ...
- coreDNS域名无法解析问题
问题: 在pod内无法解析域名 解决: busybox的镜像有bug,导致ping可以解析,但是nslookup无法解析 kubectl run -it --rm --image=infoblox/d ...
- Spring Cloud(0):目录
Spring Cloud(1):概览 Spring Cloud(2):服务发现(Eureka) Spring Cloud(3):配置服务(Config) Spring Cloud(4):断路器(Hys ...
- vue项目在(windowServer)nginx上的部署
(一) 本地部署. 1.下载phpStudy (http://phpstudy.php.cn/) 2.安装到自己指定盘根目录的文件夹目录,安装完后会用到. 3.运行phpStusy可能报错,需要下载安 ...
- go http server 编程
第一种:最简单的 package main import ( "fmt" "log" "net/http" ) func myHandler ...