[英]Python: Getting value from calling function
在Python中,是否有一种简单的方法可以使被调用函数从调用函数/类中获取值? 我不确定我是否应该正确地表述,但是我正在尝试执行以下操作:
class MainSection(object):
def function(self):
self.var = 47 # arbitrary variable
self.secondaryObject = secondClass() # Create object of second class
self.secondaryObject.secondFunction(3) # call function in that object
和
class secondClass(object):
def secondFunction(self, input)
output = input + self.var # calculate value based on function parameter AND variable from calling function
return output
#Access self.var from MainSection
这可能是我对Python缺乏了解,但是我很难在这里找到明确的答案。 做到这一点的最佳方法就是将我想要的变量作为另一个第二个参数传递给第二个类吗? 如果不同,这些文件位于单独的文件中。
做到这一点的最佳方法就是将我想要的变量作为另一个第二个参数传递给第二个类吗?
是的,尤其是在对象之间只有短暂关系的情况下:
class secondClass(object):
def secondFunction(self, input, var_from_caller)
output = input + var_from_caller # calculate value based on function parameter AND variable from calling function
return output
如果愿意,您甚至可以遍历整个对象:
class secondClass(object):
def secondFunction(self, input, calling_object)
output = input + calling_object.var # calculate value based on function parameter AND variable from calling function
return output
如果关系是永久的,则可以考虑将对相关对象的引用存储在实例变量中:
class MainSection(object):
def function(self):
self.var = 47 # arbitrary variable
self.secondaryObject = secondClass(self) # Create object of second class
self.secondaryObject.secondFunction(3) # call function in that object
...
class secondClass(object):
def __init__(self, my_friend):
self.related_object = my_friend
def secondFunction(self, input)
output = input + self.related_object.var # calculate value based on function parameter AND variable from calling function
return output
#Access self.var from MainSection
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.