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
    

猜你喜欢

转载自www.cnblogs.com/zhang-zi-yi/p/10306698.html
今日推荐