我想设置/重置我在main的init中初始化的变量的值。我有以下代码
class myClass:
def myfun(self):
# code using the url
def __init__(self):
self.url = None
if __name__ == '__main__':
# list of integers
my_list = [1, 2, 3,4,5]
count = 0
for item in my_list:
if count % 2 == 0:
self.url = "http://myurl.com" # I want to set/reset my url here
我收到了这个错误:
NameError: name 'self' is not defined`
如何设置/重置我的变量,以便以后在类的所有方法中全局使用
您需要实例化类,并使用此名称来引用类,而不是
self
。像这样:实例化类(或您给它起的任何其他名称)后,需要将其引用为
obj
。如果你不实例化一个类,它只是一个具有预定义属性和行为的框架,但它还不存在。在实例化之前不能对其进行操作在实例化之后,您可以使用实例名}引用自身,无论实例化时调用什么。因此,在类之外,不能使用
obj
引用它^类中的{self
导入保护
if __name__ == '__main__':
和其中的所有内容都在全局命名空间中。它不是类的一部分,更不是类中的一个方法。要拥有类的实例,您需要实例化它:现在,在同一名称空间中,您可以
接
我想你需要一个类变量
当您使用
self.url
时,如果实例中没有url
属性,它将引用类变量。它由所有实例共享。如果在某些实例上定义self.url
,则它们的self.url
将被隐藏相关问题 更多 >
编程相关推荐