python-dataclasses相关内容
我正在尝试使用backport包将namedtuple类移植到Python 3.6中的数据类中.但是,我注意到在模拟数据类时,不能再使用"spec"关键字了.我认为这是因为数据类代码是自动生成的. from dataclasses import dataclass import mock @dataclass class A: aaa: str bbb: int m =
..
我有一个具有5个属性的数据类.当我通过字典提供这些属性时,它会很好地工作.但是,当字典的属性比类的属性多时,该类将给出TypeError.我试图使当有额外的值时,该类将不在乎它们.我该怎么做? from dataclasses import dataclass @dataclass class Employee(object): name: str lastname: st
..
我有以下课程: class WordItem: def __init__(self, phrase: str, word_type: WORD_TYPE): self.id = f'{phrase}_{word_type.name.lower()}' self.phrase = phrase self.word_type = word_
..
目前,我像这样使用DTO(数据传输对象). class Test1: def __init__(self, user_id: int = None, body: str = None): self.user_id = user_id self.body = body 示例代码很小,但是当对象规模增长时,我必须定义每
..
我最近开始使用数据类,它们将是对它们的不错补充. 3.7.我很好奇是否可以使用数据类来重新创建此类的相同功能. class Nav(object): def __init__(self, name:str, menu, page, *submenus): self.name = name self.menu = menu self.pa
..
我有一些现有的Python 3.6代码,我想移至Python 3.7数据类.我有带有漂亮文档字符串文档的__init__方法,指定了构造函数采用的属性及其类型. 但是,如果我更改这些类以使用3.7中的新Python数据类,则构造函数是隐式的.在这种情况下,如何提供构造函数文档?我喜欢数据类的想法,但是如果我必须放弃明确的文档才能使用它们,那就不喜欢. 已编辑,以阐明我当前正在使用文档字
..
Python 3.7引入了称为数据类的新功能. from dataclasses import dataclass @dataclass class MyClass: id: int = 0 name: str = '' 在函数参数中使用类型提示(注释)时,可以使用inspect模块轻松获得带注释的类型.如何获取数据类字段类型? 解决方案 from datacl
..
说a我在python3中有一个数据类.我希望能够对这些对象进行哈希处理和排序. 我只希望它们按ID排序/散列. 我在文档中看到我可以只实现__hash__以及所有其他功能,但是我想让datacalses为我做这些工作,因为它们旨在解决这个问题. from dataclasses import dataclass, field @dataclass(eq=True, order=
..
从Python 3.7开始,有一种叫做数据类的东西: from dataclasses import dataclass @dataclass class Foo: x: str 但是,以下操作失败: >>> import json >>> foo = Foo(x="bar") >>> json.dumps(foo) TypeError: Object of type F
..
3.7中的标准库可以将数据类递归转换为dict(来自文档的示例): from dataclasses import dataclass, asdict from typing import List @dataclass class Point: x: int y: int @dataclass class C: mylist: List[Point] p
..
我有以下课程 @dataclass_json @dataclass class Source: type: str =None label: str =None path: str = None 和两个子类: @dataclass_json @dataclass class Csv(Source): csv_path: str=None de
..
我正在尝试在Python 3(.6)中使用queue.PriorityQueue. 我想存储具有给定优先级的对象.但是,如果两个对象具有相同的优先级,则我不介意PriorityQueue.get返回任何一个.换句话说,我的对象不能以整数进行比较,允许它们成为整数没有意义,我只是在乎优先级. 在 Python 3.7的文档中,有一个涉及.我引用: 如果数据元素不具有可比性,则可以将
..
假设您已经定义了Python数据类: @dataclass class Marker: a: float b: float = 1.0 将值从实例marker_a复制到另一个实例marker_b的最简单方法是什么? 这是我尝试实现的示例: marker_a = Marker(1.0, 2.0) marker_b = Marker(11.0, 12.0) #
..
我想创建一个config dataclass,以简化对特定环境变量的白名单和访问(键入os.environ['VAR_NAME']相对于config.VAR_NAME是乏味的).因此,我需要忽略dataclass的__init__函数中未使用的环境变量,但是我不知道如何提取默认的__init__以便将其包装起来,例如,该函数还包含作为参数之一. import os from dataclas
..
我有一个类,例如Circle,它具有相关属性radius和circumference.在这里使用dataclass是有意义的,因为__init__,__eq__,__repr__的样板和排序方法(__lt__,...). 我选择其中一个属性来依赖另一个属性,例如圆周是根据半径计算得出的.由于该类应支持使用两个属性之一进行初始化(+将它们包含在__repr__和dataclasses.asdi
..
我一直在阅读Python 3.7的数据类,以替代namedtuple(当我必须在结构中对数据进行分组时通常使用的).我想知道dataclass是否与属性装饰器兼容,以便为dataclass的数据元素定义getter和setter函数.如果是这样,这在某处有描述吗?还是有可用的示例? 解决方案 确定有效: from dataclasses import dataclass @data
..
考虑以下代码: from collections import namedtuple point = namedtuple("Point", ("x:int", "y:int")) 上面的代码只是演示我要实现的目标的一种方法. 我想用类型提示使namedtuple. 您知道如何以一种优雅的方式达到预期效果吗? 解决方案 类型为3.6的命名元组的首选语法为 from t
..
我目前正在尝试Python 3.7中引入的新数据类构造.我目前坚持尝试做一些父类的继承.看来参数的顺序已被我当前的方法所破坏,使得子类中的bool参数在其他参数之前传递.这会导致类型错误. from dataclasses import dataclass @dataclass class Parent: name: str age: int ugly: bool
..
Python 3.7是在不久前发布的,我想测试一些新的dataclass + typing功能.使用本机类型和typing模块中的本机类型,使提示正确工作很容易: >>> import dataclasses >>> import typing as ty >>> ... @dataclasses.dataclass ... class Structure: ... a_str:
..
通过 PEP 557 数据类被引入python标准库. 它们使用@dataclass装饰器,并且应该是“带有默认值的可变命名元组",但是我不确定我是否真正理解这是什么意思,以及它们与普通类的区别. 什么是python数据类,什么时候最好使用它们? 解决方案 数据类只是用于存储状态的常规类,它不仅包含许多逻辑.每次创建一个主要由属性组成的类时,就创建了一个数据类. data
..