gpt4 book ai didi

python - 类实例初始化时出现名称错误

转载 作者:行者123 更新时间:2023-12-01 05:00:01 26 4
gpt4 key购买 nike

我已经使用脚本几个星期了,没有遇到任何问题,但我现在正在尝试创建一个类,但遇到了问题。

我自己并不完全理解它,但当我尝试创建以下类的实例时,我收到此错误NameError:全局名称'instance_status_check'未定义

我完全意识到类(class)目前没有做太多事情,但在解决问题之前我无法继续。有人可以解释我做错了什么吗?

import sys
import boto
import boto.ec2

class Monitor:

def __init__(self,conn,identifier):
self.connection = conn
self.identifier = identifier
self.dispatcher ={'1': instance_status_check}

def user_menu():
for i, value in self.dispatcher.itertems():
print "Please press {i} for {value}".format(i,value)

def instance_status_check():
pass

最佳答案

这两种方法都缺少 self 参数,它是 iteritems 而不是 itertems:

class Monitor:  # upper case for class names
def __init__(self,conn,identifier):
self.connection = conn
self.identifier = identifier
self.dispatcher ={'1': self.instance_status_check} # call self.instance_status_check()

def user_menu(self): # self here
for i, value in self.dispatcher.iteritems():
print("Please press {i} for {value}".format(i,value))

def instance_status_check(self): # self here
return "In status method"

m = Monitor(3,4)
print(m.dispatcher["1"]())
In status method

我建议你看看docs中的类(class)教程。

关于python - 类实例初始化时出现名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26473798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com