01 标注类型:参数与返回值

标注类型:参数与返回值

basic type

def f(a: int, b: int) -> int:
return a + b

print(f(1, 2))

custom type

class A:
name = "A"

def get_name(o: A) -> str:
return o.name

get_name(A) # error
get_name(A()) # right

self type as init

​ 在class的init时有时需要传入的类型是自己这种类型,例如链表。

​ 直接写类型会报错,因为这种类型还未出现。解决方法是使用string literal,即将类型用“”包一下。

class Node:
def __init__(self, prev: "Node"):
self.prev = prev
self.next = None