我想把这个class类的lover变成list类,请问要怎么去实现呢?

class lover:
lovernumber=0
def __init__(self,name,age,appearance):
self.name=name
self.age=age
self.appearance=appearance
print("Initial lover:{}".format(self.name))
lover.lovernumber+=1
@classmethod
def lover_how_many(cls):
print('lovers numbers are:',lover.lovernumber)

lover('A',20,90)
lover.lover_how_many()
lover('B',21,95)
lover.lover_how_many()
lover('C',22,99)
lover.lover_how_many()

print(type(lover))

输出:
Initial lover:A
lovers numbers are: 1
Initial lover:B
lovers numbers are: 2
Initial lover:C
lovers numbers are: 3
<class 'type'>

Process finished with exit code 0

慕的地6264312
浏览 77回答 1
1回答

手掌心

你需要自定义函数。或者使用__list__,这样就可以使用内置的list函数了。class&nbsp;A:&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__init__():&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.a&nbsp;=&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.b&nbsp;=&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;to_list():&nbsp;&nbsp;&nbsp;&nbsp;"""需要你自定义函数行为"""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;[self.a,&nbsp;self.b]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;__list__():&nbsp;&nbsp;&nbsp;&nbsp;"""需要你自定义函数行为"""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;[self.a,&nbsp;self.b]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;A()lst1&nbsp;=&nbsp;a.to_list()lst2&nbsp;=&nbsp;list(a)&nbsp;#&nbsp;调用__list__别的可以直接调用list函数的都是底层实现了__list__或者做了别的实现,你自己的类需要你自己实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python