python - 使用 Python collections.namedtuple 制作具有干净界面的 DTO?
问题描述
我是来自 Java 背景的 Python 新手,我正在尝试通过扩展集合 来构建 DTO 来包装我的数据,就像使用 Java 集合框架一样。
public class MyDto<T> extends ArrayList<T> implements MyDtoInterface<T> { ... }
我已经阅读了python-quick-and-dirty-datatypes-dto,它似乎为我需要的东西提供了基础。但是,我无法从接受的答案中弄清楚如何使我的 dto 成为类型而不是包装器。接受的答案是 python 脚本而不是类。我想避免这样做:
class NamedDto(namedtuple):
data = namedtuple("first", "second", "etc")
dto = NamedDto()
dto.data.first = 1
dto.data.second = 2
dto.data.etc = None
print(dto)
而是这样做:
dto = NamedDto()
dto.first = 1
dto.second = 2
dto.etc = None
和/或
dto = NamedDto(1,2,3)
print(dto.first)
print(dto.second)
print(dto.etc)
我也读过,似乎没有回答这个具体问题。
解决方案
推荐阅读
- javascript - 反应功能组件的 setState 未更新我的状态
- c# - 如何使用命令中的开关在 C# 控制台应用程序中运行命令?
- xamarin - 在派生类中设置绑定属性不会触发在派生类中更改的属性
- javascript - 如何获得连续的特定键计数
- java - 使用前台服务一段时间后应用程序被销毁时如何重新启动应用程序?
- sql - 带有子查询的 Oracle JOIN - 无效的表名
- c++ - 使用 c++ 的 uiautomation 在 Windows 上获取子窗口按钮的标题
- sql - SQL如何使用连接只选择单行?
- chef-infra - Chef 客户端失败且没有错误
- java - java 8 中引入的函数式接口