我正在做一个项目,我需要从一个类中动态地创建一些对象。我不是要求任何人来解决这个问题,只是给我指出了正确的方向。举个例子,如果我和狗一起工作。你知道吗
class Dog(object):
"""Creating Dogs"""
def __init__(self, name, age, gender):
super(Dog, self).__init__()
self.name = name
self.name = age
self.name = gender
不过,我希望有一个函数,我可以把这些信息传递到其中,从而创建一个全局对象。函数如下所示:
def create_dog(name, age, gender):
name = Dog(name,age, gender)
return(name)
所以理论上,如果我把名字“Jack”传递给函数,我会从类中得到一个全局称为“Jack”的对象。我只是想找到一个好方法来做这件事,如果有的话。如果这是完全反对python,我会想出另一种方法,但我坐在这里卡住了。我也考虑过在函数中嵌套类,但是名称空间不会进入全局。你知道吗
随着变化局部变量:(这仍然很糟糕,但不如变化全局变量)
你可以创建一个全局字典
也许你想做一个替代的构造器?你知道吗
另见讨论Meaning of @classmethod and @staticmethod for beginner?
如果使用单个文件脚本,则可以使用全局字典,但对于更复杂的软件,则必须导入所有3个元素:
使用class属性只导入一个名称空间。所以你可以这样做:
现在您可以简单地
import Dog
,并访问class属性Dog.members
相关问题 更多 >
编程相关推荐