python:使用或不使用引用访问类变量

python:使用或不使用引用访问类变量,python,Python,代码: 错误:未定义全局名称“位置列表” 如果我访问第1行和第2行中的位置列表 class Example: pos_list=[] last_cell=0 def setText(self): last_cell = 10 pos_list.append(int(10)) #Line 1 print pos_list , last_cell #Line 2 然后 无错误

代码:

错误:未定义全局名称“位置列表”

如果我访问第1行和第2行中的位置列表

class Example:

    pos_list=[]
    last_cell=0

    def setText(self):
        last_cell = 10
        pos_list.append(int(10))              #Line 1
        print pos_list , last_cell            #Line 2
然后 无错误[这很好,因为我将其作为实例(self)或类(Example)变量访问]

但是最后一个单元格呢? 我正在访问它,没有自我或类引用。但在pos_list的情况下,python解释器迫使我使用这两个引用中的任何一个


为什么我可以在没有任何引用的情况下访问最后一个_单元

因为您将最后一个单元格声明为局部变量。执行
pos\u list.append()
时,您试图对未定义的内容调用方法,这会生成错误。

,因为您将最后一个\u单元格声明为局部变量。在执行pos\u list.append()时,您试图对未定义的对象调用方法,这会生成错误。

您没有。您只是创建了一个碰巧具有相同名称的局部变量

   self.pos_List or Example.pos_list

你不是。您只是创建了一个碰巧具有相同名称的局部变量

   self.pos_List or Example.pos_list

第1行缺少一个括号:)请学习Python官方教程-Python的对象模型与您从更多主流OOPL中学到的完全不同。第1行缺少一个括号:)请学习Python官方教程-Python的对象模型与您从更多主流OOPL中学到的完全不同主流OOPLs。