伙计们,我想如何在一个类中将变量从一个方法处理成另一个方法。例如:
class Newclas:
def getPortalSources(self,portal):
self.connection_source=self.config.get("portal_"+portal,'Sources')
self.portal=portal
def getConnection(self,source):
self.source=source
self.connection_string=self.config.get('CONNECTION',self.portal+'_'+source+'_'+'connectstring') ## Connection
到现在为止,我使用了类似的东西。所以在getConnection上我使用了来自getPortalSources方法的self.portal变量。但是对我来说还是有点不清楚。
只是想知道是否还有其他更好的方法来做那样的事情?如果是这样,你能给我一些提示或例子。
例如:
def getPortalSources(self,portal):
self.connection_source=self.config.get("portal_"+portal,'Sources')
self.portal=portal
def getConnection(source):
self.connection_string=self.config.get('CONNECTION',getPortalSources.portal+'_'+source+'_'+'connectstring') ## Connection
当然它不起作用,但我认为你有了我的想法。
此致
答案 0 :(得分:0)
我建议您使用构造函数或全局变量。
我将在这里举一个构造函数的例子:
class Newclas:
def __init__(self,portal='default_portal',source='default_source'):
self.portal = portal
self.source = source
def getPortalSources(self,portal=self.portal):
self.connection_source=self.config.get("portal_"+portal,'Sources')
def getConnection(self,source=self.source):
self.connection_string=self.config.get('CONNECTION',self.portal+'_'+source+'_'+'connectstring') ## Connection
所以这里发生的是,当你创建这个类的对象时,你会这样做:
new_obj = Newclas(portal='the_portal',source='the source')
使用portal='the_portal',source='the source'
是可选的,如果您不提供此选项,则会使用默认值。
现在,当你说:new_obj.getConnection()
它会为你提供这个东西。
如果您说:new_obj.getConnection(source='some_other_source')
那么它将提供该来源。