1、->一般出现在python函数定义的函数名后面,为函数添加元数据,描述函数的返回类型,也可以理解为给函数添加注解。
def sub(x:int, y:int) -> int:return x - y
这里面,元数据表明了函数的返回值为int类型。Python解释器不会对这些注解添加任何的语义。它们不会被类型检查,运行时跟没有加注解之前的效果也没有任何差距。
2、省略号(…)是一个Python对象,叫Ellipsis,它没有方法,是一个单例对象(singleton object):
几种常见用法:
2.1 NumPy索引
import numpy as np
array = np.random.rand(3, 2) # 创建3*2 array
print(array); print(array[...]); print(array[Ellipsis]) # 等效
print(array[..., 0]); print(array[:,0]); print(array[Ellipsis, 0]) # 等效 第一列
print(array[0, ...])# 等效 第一行
2.2 函数参数类型提示
第一个省略号(…)表示输入参数类型允许为任意,第二个省略号(…)表示输出参数类型允许为任意,
def fun(x: ...) -> ...:print(x)return x
fun(3)
fun('4')
2.3 相当于pass
def fun1():pass
def fun2():...
fun1()
fun2()