python - 设置/重置在 __main__ 中的 __init__ 中声明和初始化的变量的值
问题描述
我想设置/重置我在init中初始化的变量的值main。我有以下代码。
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:名称'self'未定义`
我可以做些什么来设置/重置以后可以在我的类的所有方法中全局使用的变量?
解决方案
导入守卫if __name__ == '__main__':
及其中的所有内容都在全局命名空间中。它不是你班级的一部分,更不用说班级中的方法了。要拥有您的类的实例,您需要实例化它:
my_obj = myClass()
现在,在同一个命名空间中,你可以做
my_obj.url = ...
其次是
my_obj.myfun()
推荐阅读
- iis - IIS URL 重写模块根目录映射
- python - python中的堆栈回溯是什么?
- bash - 尽管成功计算了答案,为什么 date 命令会引发错误?
- javascript - Javascript 从 10 递减,然后在 0 时执行某些操作
- image-processing - 我们如何使用最近邻插值算法围绕自定义枢轴点旋转 RGB 图像?
- android - 如果我的 Android APK Bundle 是 45 MB,那么当它进入 Google Play 商店时,这将是我的应用程序的大小吗?
- javascript - 针对联合类型的打字稿参数检查
- c# - 使用变量作为控件名称
- javascript - 为什么 Safari 复制 GET 请求而 Chrome 没有?
- python - 从 TreeModel 中的选定索引中检索特定数据