Dataclass

作者: wit92 | 来源:发表于2020-06-14 17:30 被阅读0次
from dataclasses import dataclass

@dataclass
class Position:
    name: str
    lon: float
    lat: float

可以发现,主要作用的是装饰符@dataclass,需要注意,如果想要使用dataclass,需要Python 3.7或更高版本
使用dataclass的好处是可以节省书写init()等一些常用的实例方法

这里创造一个Position类,用来显示一个地点的位置

  • 名称:地点的名字
  • lon:经度
  • 纬度:

新建一个实例来看看:

>>> pos = Position('Oslo', 10.8, 59.9)
>>> print(pos)
Position(name='Oslo', lon=10.8, lat=59.9)
>>> pos.lat
59.9
>>> print(f'{pos.name} is at {pos.lat}°N, {pos.lon}°E')
Oslo is at 59.9°N, 10.8°E

让我们看看如何给类的属性添加替换值:

from dataclasses import dataclass

@dataclass
class Position:
    name: str
    lon: float = 0.0
    lat: float = 0.0

效果和普通的类设置初始值的效果是一样的:

>>> Position('Null Island')
Position(name='Null Island', lon=0.0, lat=0.0)
>>> Position('Greenwich', lat=51.8)
Position(name='Greenwich', lon=0.0, lat=51.8)
>>> Position('Vancouver', -123.1, 49.3)
Position(name='Vancouver', lon=-123.1, lat=49.3)

相关文章

网友评论

    本文标题:Dataclass

    本文链接:https://www.haomeiwen.com/subject/gdlxxktx.html