Python-AttributeError:type object';MyClass';没有属性';名称';
我有3个python文件 MyModule.pyPython-AttributeError:type object';MyClass';没有属性';名称';,python,Python,我有3个python文件 MyModule.py class MyClass: def __init__(self, name): self.name = name @classmethod def hello(self): print('Hello ' + self.name) import pickle from MyModule import * me = pickle.load(file('my_pkl.pickle','rb
class MyClass:
def __init__(self, name):
self.name = name
@classmethod
def hello(self):
print('Hello ' + self.name)
import pickle
from MyModule import *
me = pickle.load(file('my_pkl.pickle','rb'))
me.hello()
import pickle
from MyModule import *
me = MyClass('Anil')
pickle.dump(me, open('my_pkl.pickle','wb'))
Loader.py
class MyClass:
def __init__(self, name):
self.name = name
@classmethod
def hello(self):
print('Hello ' + self.name)
import pickle
from MyModule import *
me = pickle.load(file('my_pkl.pickle','rb'))
me.hello()
import pickle
from MyModule import *
me = MyClass('Anil')
pickle.dump(me, open('my_pkl.pickle','wb'))
Dumper.py
class MyClass:
def __init__(self, name):
self.name = name
@classmethod
def hello(self):
print('Hello ' + self.name)
import pickle
from MyModule import *
me = pickle.load(file('my_pkl.pickle','rb'))
me.hello()
import pickle
from MyModule import *
me = MyClass('Anil')
pickle.dump(me, open('my_pkl.pickle','wb'))
当我超过Loader.py时,我得到以下错误:
AttributeError: type object 'MyClass' has no attribute 'name'
如何访问名称实例vaiable?您正在使用实例方法作为类方法。让它成为一个实例方法
# remove @classmethod decorator
# called on instance: me.hello()
def hello(self):
print('Hello ' + self.name)
为什么
me.hello()
?@thinkerou我只想在me
实例上调用hello()
方法,但是me
和classMyClass
并不重要。请阅读和了解@staticmethod
和@classmethod
。