Class Information:
def __init__(self):
self.name = 200
def ajust(self):
self.name = 250
Class Jesus:
def __init__(self):
self.age = 10
def ajust(self):
self.age = 20
Printdata = Information()
print(Printdata.name)
________________________
Result: >>> 200
此打印正在打印出名字值。 如何让它在调用ajust
后打印值? 我希望它打印 250,而不是 200。 我已经在StackOverflow上寻找解决方案。请记住,这不是我的实际代码,只是一个展示我的问题的简单示例。
你需要先打电话给ajust()
Printdata = Information()
Printdata.ajust()
print(Printdata.name)
但是,一旦您调用它name
它将始终是 250,我建议您改用property
以允许更多更改
class Information:
def __init__(self):
self.__name = 200
@property
def name(self):
return self.__name
@name.setter
def name(self, value):
self.__name = value
information = Information()
print(information.name) # 200
information.name = 250
print(information.name) # 250
让我们来看看幕后发生了什么。 你的类信息有一个构造函数(在python中,这些是由方法__init__(self(定义的(。
当你调用 Information(( 时,实际上你是在调用构造函数,它返回你的对象的实例,在本例中是一个 Information 对象,它还将 name 设置为 200。
因此,当您在新构建的信息上打印名称时,名称将为 200。
你有一个公正的方法。但是你需要调用它才能更新类中的 name 变量。
所以你的事件顺序应该是:构建类,调用ajust,打印名称