请注意:这是一个小的,类似的例子,我试图做一些学校作业,因此某些部分的解决办法是不能改变的。这些碎片被指出了。
据我理解,str可以用来格式化打印时如何表示类的格式。
我打算覆盖str方法,以便:
>>>print(class_slim)
my name is... Slim Shady和
>>>print(class_fat)
my name is... Fat Shady下面是示例代码:
class MyClass:
fname = ''
lname = ''
def __init__(self, fname='', lname=''):
self.name = ""
def __str__(self):
return 'my name is... '+self.fname, self.lname
@staticmethod
def setname(first, last):
return first, last
class_slim = MyClass.setname("Slim", "Shady")
print(class_slim)
class_fat = MyClass.setname("Fat", "Shady")
print(class_fat)现在,我得到的结果是:
>>>class_slim = MyClass.setname("Slim", "Shady")
>>>print(class_slim)
('Slim', 'Shady')我必须:
如果这其中的任何部分是不可能的,或者我所做的假设是完全错误的,请告诉我,这可能就是问题所在。
发布于 2017-03-28 00:15:57
好的,这是我最后所做的,静态方法需要新建一个类的实例,并将该实例返回到内置于函数中的父类str。
class MyClass:
def __init__(self, first, last):
self.fname = first
self.lname = last
def __str__(self):
return 'my name is...'+self.fname+" "+self.lname
if __name__ == '__main__':
@staticmethod
def read(first, last):
newClass = MyClass(first,last)
return newClass
class_slim = MyClass.read("Slim", "Shady")
print(class_slim)
class_fat = MyClass.read("Fat","Shady")
print(class_fat)它的输出是
“我的名字is...Slim Shady”
“我的名字是.胖影子”
https://stackoverflow.com/questions/43057419
复制相似问题