Python3新特性 类型注解 以及 点点点
Python3新特性 类型注解 以及 点点点 ...
Python3 的新特性
Python 是一种动态语言,变量以及函数的参数是 不区分类型 的
在 函数中使用类型注解 相当于 给 形参的 类型 设置了一个备注
# 使用类型注解 a b 参数需要 int 类型的 变量
def func(a: int = ..., b: int = ...):
return a + b
使用 PyCharm 编写python代码时 函数调用会有默认参数的 提示
如果传递的 参数不是 指定的类型 正常使用也不会报错的 但是 传参时会有阴影 提示
def func(a: int = ..., b: int = ...):
return a + b
c = func(1, 2)
>> 3
st = func('a', 'b')
>> ab
a: int = ... 就是给 a 设置的默认值
def func(a: int = ...):
print(a) # Ellipsis
func()
def func(a: int = 12345):
print(a) # 12345
func()
>> ...
使用Python3 新特性
...
(Ellipsis
)用法 跟 pass 类似 但是pass 不可以 指定 为函数的 默认值
print(...) # Ellipsis
可以 替换 pass 来使用
# 不会报错
def func():
...
...
是一个固定的类型aa = ...
print(type(aa)) # <class 'ellipsis'> print(id(...)) # 1720402224
Python3新特性 类型注解 以及 点点点的更多相关文章
- JDK1.5新特性之注解
时间:2017-1-2 20:14 --注解的概述 注释是给人看的,而注解是给程序(框架)看的. 在Servlet3.0中可以使用注解来替代配置文件,开发者就不用再写配置文件了,而是写注解 ...
- Java8新特性 重复注解与类型注解
import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.anno ...
- 理解Spring4.0新特性@RestController注解
参考原文 @RestController注解是它继承自@Controller注解.4.0之前的版本,spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet. 使用 ...
- python3 新特性
1.格式化字符串f-string user = "Mike" log_message = f'User{user} has logged in' 2.路径管理库Pathlib 3. ...
- servlet3.0 的新特性之二注解代替了web.xml配置文件
servlet3.0 的新特性: 注解代替了 web.xml 文件 支持了对异步的处理 对上传文件的支持 1.注解代替了配置文件 1.删除了web.xml 文件 2. 在Servlet类上添加@Web ...
- 字符串格式的方法%s、format和python3.6新特性f-string和类型注解
一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...
- Python3.6引入的f-string 与 Python 3的新的特性:类型注解;
f-string 1.介绍 f-string(formatted string literals):格式化字符串常量,是Python3.6新引入的一种字符串格式化方法,使格式化字符串的操作更加简便. ...
- Java 8新特性探究(二)类型注解和重复注解
本文将介绍java 8的第二个特性:类型注解. 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置.那充满争议的类型注解究竟是什 ...
- 乐字节-Java8新特性之Base64和重复注解与类型注解
上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...
随机推荐
- SpringMVC 与 REST.
一.REST 的基础知识 我敢打赌这并不是你第一次听到或读到REST这个词.当讨论REST时,有一种常见的错误就是将其视为“基于URL的Web服务”—— 将REST作为另一种类型的RPC机制,只不过是 ...
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/CanUnbuffer
在执行spark on hive 的时候在 sql.show()处报错 : Exception in thread "main" java.lang.NoClassDefFoun ...
- 今天学习了flex布局
前言:这个网站详细讲了水平.垂直.水平垂直的css方法.https://css-tricks.com/centering-css-complete-guide/ 布局的传统解决方案,基于盒状模型,依赖 ...
- mapper加载的3种方法
<!-- mapper加载有3种方法: 1:通过resource或url加载单个mapper 2:通过mapper接口类名加载单个mapper 3:通过package批量加载多个mapper(推 ...
- JUnit4注解
今天学习了下,mybatis中开发dao的方法,用到了JUnit4进行单元测试, 将JUnit4中的注解总结了下,供大家参考学习: JUnit 4 开始使用 Java 5 中的注解(annotatio ...
- JS中substring与substr的用法
substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...
- CSS概念【记录】
1.CSS语法 2.@规则 3.注释 4.层叠 5.优先级 6.继承 7.值 8.块格式化上下文 9.盒模型 10.层叠上下文 11.可替换元素 12.外边距合并 13.包含块 14.视觉格式化模型 ...
- 配置多个相同网段的ECMP下一跳,配合NQA健康检查实现高可靠性
1.一般情况下,ECMP常用的常见是,针对很远的目的地址,下一跳分别是路由器的不同出端口,而路由器的不同端口是不同网段的,也就是说,下一跳是不同的网段地址. 但是,在连接到终端服务器时,常常会采用多个 ...
- Android包管理机制(二)PackageInstaller安装APK
前言 在本系列上一篇文章Android包管理机制(一)PackageInstaller的初始化中我们学习了PackageInstaller是如何初始化的,这一篇文章我们接着学习PackageInsta ...
- 复杂的web---web中B/S网络架构
web中B/S网络架构 1:web中B/S网络架构 2:CDN工作机制和架构 3:负载均衡: B/S分别是浏览器/服务器,架构流程为: 当你访问网站的时候,浏览器发送各种请求给浏览器,服 ...