在编写代码时,我遇到了我的linter表达了~<type>
的类型(其中<type>
是一种不是字面上的类型)。例如,其中一个例子是self
。
class A:
def foo(self):
reveal_type(self) # reveals "~A"
我假设这意味着“
A
或A
的子类”; 然而,我在网上找不到任何相关信息。此外,您不能在代码中使用此语法:
a: ~A # raises an exception: TypeError: bad operand type for unary ~: 'type'
如果
a
被揭示出来,那么它将是 Unknown
。