feat: add python_annotation_test.py

This commit is contained in:
2025-09-09 21:44:55 +08:00
parent 4c903daaf3
commit 708d926e6c

37
python_annotation_test.py Normal file
View File

@@ -0,0 +1,37 @@
def attr(cls):
cls._attr1 = 'test'
return cls
def attr2(*, name=None):
def attr2_cls(cls):
cls._attr_name_1 = name
return cls
return attr2_cls
class Attr:
controllers = []
def __init__(self, *, name=None):
self.__name = name
def __call__(self, cls):
Attr.controllers.append(cls)
cls._attr_name_2 = self.__name
return cls
@Attr(name='test2')
@attr2(name='test1')
@attr
class Class1:
pass
if __name__ == "__main__":
print(getattr(Class1, '_attr1'))
print(getattr(Class1, '_attr_name_1'))
print(getattr(Class1, '_attr_name_2'))
print(Attr.controllers)