Python3新特性 类型注解 以及 点点点

Posted 拐弯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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新特性 类型注解 以及 点点点的主要内容,如果未能解决你的问题,请参考以下文章

?Python 3 新特性:类型注解——类似注释吧,反正解释器又不做校验

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

Python 3.10 有哪些新特性 ?

java se8的新特性都有哪些

python3 新特性

Java8 新特性 -- Lambda表达式:函数式接口方法的默认实现和静态方法方法引用注解类型推测Optional类Stream类调用JavaScriptBase64