2个函数能否访问Python中的对象变量
我知道在Python中,类可以有一个类变量(在所有对象之间共享),也可以有一个唯一的对象变量(在对象之间可以唯一地赋值) 但是,当我试图从另一个函数访问对象的变量时,为什么会出现“objecthasnotattribute”nObjVar错误2个函数能否访问Python中的对象变量,python,Python,我知道在Python中,类可以有一个类变量(在所有对象之间共享),也可以有一个唯一的对象变量(在对象之间可以唯一地赋值) 但是,当我试图从另一个函数访问对象的变量时,为什么会出现“objecthasnotattribute”nObjVar错误 class TestClass: nClassVar1 = 0 #Class Var shared across all objects def __init__(self, defaultInitVal
class TestClass:
nClassVar1 = 0 #Class Var shared across all objects
def __init__(self, defaultInitVal = 0):
nObjVar = defaultInitVal #Object Var Only
def MyFuncMult(self):
result = nObjVar * 10;
return ( result )
原因是,如果您希望它是需要键入的对象的成员,则在init中将其定义为局部变量
self.nObjVar
这将把它设置为一个成员。原因是,如果您希望它是需要键入的对象的成员,那么在init中将它定义为一个局部变量
self.nObjVar
这将把它设置为成员要使变量对类中的所有方法都可用,请将其保存在
self
命名空间中
class TestClass:
nClassVar1 = 0 #Class Var shared across all objects
def __init__(self, defaultInitVal = 0):
self.nObjVar = defaultInitVal #Object Var Only
def MyFuncMult(self):
result = self.nObjVar * 10;
return ( result )
要使变量对类中的所有方法都可用,请将其保存在
self
命名空间中
class TestClass:
nClassVar1 = 0 #Class Var shared across all objects
def __init__(self, defaultInitVal = 0):
self.nObjVar = defaultInitVal #Object Var Only
def MyFuncMult(self):
result = self.nObjVar * 10;
return ( result )
尝试
self.nObjVar
引用实例的变量。尝试self.nObjVar
引用实例的变量。您需要访问nObjVar
asself.nObjVar
。您需要访问nObjVar
asself.nObjVar
。