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

  • Python3 的新特性

  • Python 是一种动态语言,变量以及函数的参数是 不区分类型

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 在 函数中使用类型注解 相当于 给 形参的 类型 设置了一个备注

    # 使用类型注解  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
    
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄