POO (French: Object-Oriented Programming) and def



我需要在另一个函数中获得一个变量,使用Python 3中的OOP范式。

也许我下面写的例子可以更好、更容易地表达我需要做的事情:

class Mother:
def first_def(self):
var = 'Need this!'
def second_def(self):
var = 'Need  this!' # Need to pull from first_def to use here.

基本上,我需要从first_def中拉出var以用于second_def。知道怎么做吗?

var设置为实例属性。(我不知道你说的"噗"是什么意思。)

class Mother:
def first_def(self):
self.var = "Need this"
def second_def(self):
# Do what you want with self.var
print(self.var)

m = Mother()  # m.var not yet set
m.first_def()  # sets m.var
m.second_def()  # outputs "Need this"

有两种方法:

class Mother:
def first_def(self):
var = 'Need this!'
return var;
def second_def(self):
var = self.first_def()

或者您可以将此变量设置为类变量,稍后再访问它:

class Mother:
def first_def(self):
self.var = "Need this"
def second_def(self):
# Do what you want with self.var
print(self.var)

m = Mother()  # m.var not yet set
m.first_def()  # sets m.var
m.second_def()  # outputs "Need this"

最新更新