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新特性 类型注解 以及 点点点的更多相关文章

  1. JDK1.5新特性之注解

    时间:2017-1-2 20:14 --注解的概述    注释是给人看的,而注解是给程序(框架)看的.    在Servlet3.0中可以使用注解来替代配置文件,开发者就不用再写配置文件了,而是写注解 ...

  2. Java8新特性 重复注解与类型注解

    import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.anno ...

  3. 理解Spring4.0新特性@RestController注解

    参考原文 @RestController注解是它继承自@Controller注解.4.0之前的版本,spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet. 使用 ...

  4. python3 新特性

    1.格式化字符串f-string user = "Mike" log_message = f'User{user} has logged in' 2.路径管理库Pathlib 3. ...

  5. servlet3.0 的新特性之二注解代替了web.xml配置文件

    servlet3.0 的新特性: 注解代替了 web.xml 文件 支持了对异步的处理 对上传文件的支持 1.注解代替了配置文件 1.删除了web.xml 文件 2. 在Servlet类上添加@Web ...

  6. 字符串格式的方法%s、format和python3.6新特性f-string和类型注解

    一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...

  7. Python3.6引入的f-string 与 Python 3的新的特性:类型注解;

    f-string 1.介绍 f-string(formatted string literals):格式化字符串常量,是Python3.6新引入的一种字符串格式化方法,使格式化字符串的操作更加简便. ...

  8. Java 8新特性探究(二)类型注解和重复注解

    本文将介绍java 8的第二个特性:类型注解. 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置.那充满争议的类型注解究竟是什 ...

  9. 乐字节-Java8新特性之Base64和重复注解与类型注解

    上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...

随机推荐

  1. SpringMVC 与 REST.

    一.REST 的基础知识 我敢打赌这并不是你第一次听到或读到REST这个词.当讨论REST时,有一种常见的错误就是将其视为“基于URL的Web服务”—— 将REST作为另一种类型的RPC机制,只不过是 ...

  2. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/CanUnbuffer

    在执行spark on hive 的时候在  sql.show()处报错 : Exception in thread "main" java.lang.NoClassDefFoun ...

  3. 今天学习了flex布局

    前言:这个网站详细讲了水平.垂直.水平垂直的css方法.https://css-tricks.com/centering-css-complete-guide/ 布局的传统解决方案,基于盒状模型,依赖 ...

  4. mapper加载的3种方法

    <!-- mapper加载有3种方法: 1:通过resource或url加载单个mapper 2:通过mapper接口类名加载单个mapper 3:通过package批量加载多个mapper(推 ...

  5. JUnit4注解

    今天学习了下,mybatis中开发dao的方法,用到了JUnit4进行单元测试, 将JUnit4中的注解总结了下,供大家参考学习: JUnit 4 开始使用 Java 5 中的注解(annotatio ...

  6. JS中substring与substr的用法

    substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...

  7. CSS概念【记录】

    1.CSS语法 2.@规则 3.注释 4.层叠 5.优先级 6.继承 7.值 8.块格式化上下文 9.盒模型 10.层叠上下文 11.可替换元素 12.外边距合并 13.包含块 14.视觉格式化模型 ...

  8. 配置多个相同网段的ECMP下一跳,配合NQA健康检查实现高可靠性

    1.一般情况下,ECMP常用的常见是,针对很远的目的地址,下一跳分别是路由器的不同出端口,而路由器的不同端口是不同网段的,也就是说,下一跳是不同的网段地址. 但是,在连接到终端服务器时,常常会采用多个 ...

  9. Android包管理机制(二)PackageInstaller安装APK

    前言 在本系列上一篇文章Android包管理机制(一)PackageInstaller的初始化中我们学习了PackageInstaller是如何初始化的,这一篇文章我们接着学习PackageInsta ...

  10. 复杂的web---web中B/S网络架构

    web中B/S网络架构 1:web中B/S网络架构 2:CDN工作机制和架构 3:负载均衡:    B/S分别是浏览器/服务器,架构流程为:     当你访问网站的时候,浏览器发送各种请求给浏览器,服 ...