python - 将在一个列表中找到的对象的属性传递给另一个列表
问题描述
我碰巧正在做一个项目,根据客户的需要,我创建了一些(一个类的)对象,然后将它们保存在一个列表中,然后创建的对象的属性必须保存在另一个列表以便将它们打印在 txt 文件中。我已经能够创建多个对象并将它们保存在一个列表中,但我无法访问它们拥有的属性并将它们保存在另一个列表中。
对象的创建:
list_obj = []
for i in range (10):
obj = sensorUltrasonido("verde", 0, 3)
list_obj.append(obj)
现在,问题是如何保存在另一个列表中创建的这 10 个对象的属性或访问它们?
解决方案
由于您使用对象来映射类中的参数。最好使用魔术方法。称为dict,它将返回对象中的参数字典。可用于获取所需参数
class MyClass(object):
class_var = 1
def __init__(self, i_var):
self.i_var = i_var
foo = MyClass(2)
bar = MyClass(3)
print MyClass.__dict__
print foo.__dict__
print bar.__dict__
输出将是
{'__module__': '__main__', 'class_var': 1, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None, '__init__': <function __init__ at 0x0000000004E55CF8>}
{'i_var': 2}
{'i_var': 3}
希望输出可能会有所帮助
推荐阅读
- android - 这是为我的 RadioGroup 设置侦听器的最有效方法吗?
- python - 在 Windows 10 上导入 Ghostscript
- ios - CATextLayer 的文字被截断
- django - 在 Django Rest 的分页响应中为每个对象动态添加有序数字
- c - CS50 Caesar - 从 ASCII 数字转换为字符
- visual-studio-2008 - Win CE 使用应用程序启用/禁用触摸
- javascript - 无法理解 return 如何在异步函数中工作
- listview - Xamarin.Forms TabbedPage 错误
- javascript - Asp.net Mvc Html Helper listboxFor click event
- javascript - 映射数据渲染多个 Material-UI Dialog 组件