如何在一行声明dataclass的多个同类成员变量?能否简化Point类代码?
在一行声明dataclass的多个相似成员变量
Python的dataclasses模块支持在一行内为多个成员变量指定相同的类型注解,完全可以把你给出的Point类改写成更简洁的形式。
改写后的简洁代码
from dataclasses import dataclass @dataclass class Point: x, y, z: float
补充说明
- 这种写法是Python类型注解的标准语法,并非
dataclass特有的,普通类中也可使用 - 同一行用逗号分隔的所有变量会被赋予后面的类型注解,和分开逐行声明的效果完全一致
- 若需要给某个变量单独设置默认值,需单独写一行(比如
x: float = 0.0),无法和其他变量混在同一行声明
内容的提问来源于stack exchange,提问作者Paul Jurczak
相关产品推荐
相关产品推荐

