python 在 class 或方法中获取新值
python get new value in a class or method
我是 python 的新手,并尝试在 class 中为我的 bool 获取新值。
我尝试创建一个全局的,在初始化中设置。
如何在 getnewvalue() 中获取测试布尔值的新值?
这是我的代码:
test = False
class myclass():
def changevalue()
test = True
getnewvalue()
def getnewvalue():
print(test)
添加
global test
两个函数。生成的代码将是...
test = False
class myclass():
def changevalue():
global test
test = True
getnewvalue()
def getnewvalue():
global test
print(test)
global
允许函数访问自身以外的变量。
希望这对您有所帮助!
如果您想在 class 中包含数据,最好使用 __init__()
并像这样保存它。 Python 教程中有更多内容:Class Objects.
并使用 __init__
将 class 初始化为所需的值。
您的代码应如下所示:
test = False
class myclass():
def __init__(self, test):
self.test = test # self keyword is used to access/set attrs of the class
# __init__() gets called when the object is created, if you want to call
# any function on the creation of the object after setting the values
# you can do it here
self.changevalue()
def changevalue(self): # if you want to access the values of the class you
# need to pass self as a argument to the function
self.test = not test
self.getnewvalue()
def getnewvalue(self):
print(self.test) # use self to access objects test value
_class = myclass(False)
或者,如果您只想拥有一个带有函数的 class,您可以这样做:
test = False
class myclass():
@staticmethod
def changevalue(val)
return not val
@staticmethod
def getnewvalue(test):
print(test)
_class = myclass()
test = _class.changevalue(test)
这样它就不会在调用时打印您的值,因为它只是将您的值设置为该函数的 return。你必须自己做,但这应该不是问题。
更多关于静态方法的信息:@staticmethod
我是 python 的新手,并尝试在 class 中为我的 bool 获取新值。
我尝试创建一个全局的,在初始化中设置。
如何在 getnewvalue() 中获取测试布尔值的新值?
这是我的代码:
test = False
class myclass():
def changevalue()
test = True
getnewvalue()
def getnewvalue():
print(test)
添加
global test
两个函数。生成的代码将是...
test = False
class myclass():
def changevalue():
global test
test = True
getnewvalue()
def getnewvalue():
global test
print(test)
global
允许函数访问自身以外的变量。
希望这对您有所帮助!
如果您想在 class 中包含数据,最好使用 __init__()
并像这样保存它。 Python 教程中有更多内容:Class Objects.
并使用 __init__
将 class 初始化为所需的值。
您的代码应如下所示:
test = False
class myclass():
def __init__(self, test):
self.test = test # self keyword is used to access/set attrs of the class
# __init__() gets called when the object is created, if you want to call
# any function on the creation of the object after setting the values
# you can do it here
self.changevalue()
def changevalue(self): # if you want to access the values of the class you
# need to pass self as a argument to the function
self.test = not test
self.getnewvalue()
def getnewvalue(self):
print(self.test) # use self to access objects test value
_class = myclass(False)
或者,如果您只想拥有一个带有函数的 class,您可以这样做:
test = False
class myclass():
@staticmethod
def changevalue(val)
return not val
@staticmethod
def getnewvalue(test):
print(test)
_class = myclass()
test = _class.changevalue(test)
这样它就不会在调用时打印您的值,因为它只是将您的值设置为该函数的 return。你必须自己做,但这应该不是问题。
更多关于静态方法的信息:@staticmethod