python中typing final装饰器的用法
时间: 2023-09-19 14:08:27 浏览: 235
typing模块中的final装饰器可以用来指示某个类或函数是不可继承或重载的。具体用法如下:
1. 对于类,可以在类定义前加上@final装饰器,表示该类不可被继承,如下所示:
```python
from typing import final
@final
class MyClass:
pass
class MySubClass(MyClass): # 报错,MyClass不可被继承
pass
```
2. 对于函数,可以在函数定义前加上@final装饰器,表示该函数不可被重载,如下所示:
```python
from typing import final
class MyClass:
@final
def my_method(self):
print('This method cannot be overridden')
class MySubClass(MyClass):
def my_method(self): # 报错,my_method不可被重载
pass
```
需要注意的是,@final装饰器只能用于类和函数,不能用于变量、属性等其他对象。
阅读全文