Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:从方法访问定义的变量_Python_Var - Fatal编程技术网

Python:从方法访问定义的变量

Python:从方法访问定义的变量,python,var,Python,Var,我有一些代码不起作用,我不太清楚为什么。这是我的密码: pal1= timingPage(createSelenium.sel) pal1.gpsTimingMode.setOption() 同时,这里是timingpage类: class timingPage: def __init__(self,sel): self.gpsTimingMode = option(self.selObject) self.gpsTimingMode.id="hi"

我有一些代码不起作用,我不太清楚为什么。这是我的密码:

pal1= timingPage(createSelenium.sel)
pal1.gpsTimingMode.setOption()
同时,这里是timingpage类:

class timingPage:

    def __init__(self,sel):
        self.gpsTimingMode = option(self.selObject)
        self.gpsTimingMode.id="hi"
在选项类中:

class option:
    def setOption(self):
        print str(self.id)
将抛出此错误:

AttributeError: option instance has no attribute 'id'


class option:

def __init__(self,sel):
    self.selObject=sel
def setOption(self):
    print str(self.id)
    print "selOption called"
    # this method is a general method for selecting a option, so that the caller does not need to know the type or structure
    for pre in self.prereq:
        print "Prerequisite"+str(pre)+"called"
有没有办法解决这个问题


如果您没有在任何您无法访问的地方定义
object.id

,谢谢


请参阅有关如何定义属性的说明。

如果您不在任何地方定义
self.id
,您将无法调用它


为了绕过这个问题,考虑在你的代码中定义它。你发的代码里没有。是否可以显示
选项
类的代码?是否要打印python对象id?如果是,请使用
print id(self)
,即使我在创建option的实例后直接调用它?我有:gpsTimingMode.id=“hi”是的,但您没有创建属性
对象.id
,因此无法对其进行写入/读取…有关定义属性的详细信息,请参阅。