我有一个我创建的类,在一个模块中,我创建了一个类的实例。不幸的是,现在,无论何时模块结束,类实例也如此(如预期的那样)。我想保留这个类实例,并且我尝试了一个返回(className),但它什么也没做。从模块返回一个类实例?
让这个类实例保持最佳状态的方法是什么?
我有一个我创建的类,在一个模块中,我创建了一个类的实例。不幸的是,现在,无论何时模块结束,类实例也如此(如预期的那样)。我想保留这个类实例,并且我尝试了一个返回(className),但它什么也没做。从模块返回一个类实例?
让这个类实例保持最佳状态的方法是什么?
addFunc()
似乎是一个功能,不是模块。
如果您希望person1
在函数返回后继续存在,则返回该函数的person1
对象,并将其绑定到外部作用域中的变量。例如:
class Person(object):
def __init__(self, name):
self.name = name
def addFunc(inputName):
person1 = Person(inputName)
return person1
if __name__ == '__main__':
person = addFunc('iu34')
print person.name
现在person1
从addFunc返回,势必person
。
还有其他选择,例如将字典或列表传递到addFunc()
,并将创建的Person
对象存储在此处 - 这取决于您的应用程序。
太棒了,谢谢。这有很大帮助! – iu34 2014-10-04 14:17:15
我很高兴听到这个消息。 – mhawke 2014-10-04 14:25:12
在这种情况下,根本不需要'addFunc'。 – jonrsharpe 2014-10-04 14:25:37
保留*其中*?你能提供一个[最小的例子](http://stackoverflow.com/help/mcve)? – jonrsharpe 2014-10-04 13:45:28
当然。我有一个Person类,用def __init__设置名字和年龄的初始值。在模块addFunc()中,我使用person1 = Person(inputName)创建了一个新的实例,其中inputName是他们输入的名称。这部分工作正常,但问题是,每当addFunc()结束时,我的person1消失。 – iu34 2014-10-04 13:50:11
不,我的意思是一些实际的格式化代码,在问题本身中,说明了这个问题。 – jonrsharpe 2014-10-04 14:24:54