如何解决在typing.NamedTuple 的子类中member: str = 'test' 和member = 'test' 有什么区别?
from typing import NamedTuple
class TestClass1(NamedTuple):
member1: str = 'test1'
class TestClass2(NamedTuple):
member2 = 'test2'
if __name__ == '__main__':
print(TestClass1.member1)
print(TestClass2.member2)
输出:
<_collections._tuplegetter>
测试2
解决方法
member1: str = 'test1'
它是创建命名元组类的语法糖,并不意味着 member1 是 TestClass1 的类变量。
如果你想打印'test1',你应该通过TestClass1创建一个对象:
test = TestClass1() //accept one para for member1,default is 'test1'
print(test.member1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。