在python中,返回类名的方法意味着什么?
我的意思是假设你有两个班级:
class TestClass:
def __init__(self, board=[]):
"""(TestClass, int) -> NoneType
"""
self.board = [(0, [5,4,3,2,1]), (1, []), (2, []), (3, [])]
def top_coin(self, idx):
"""(TestClass, int) -> Coin
Return's a Coin.
"""
if not self.board[idx][1]:
return None
return self.board[idx][1][-1]
class Coin:
def __init__(self, length):
"""(Coin, int) -> NoneType
>>> c = Coin(3)
>>> c.length
3
"""
self.length = length
def __repr__(self):
"""(Coin) -> str
"""
return "Coin(" + str(self.length) + ")"
并且您希望类TestClass中的方法top_coin返回一个Coin。这是否意味着它应该与Coin类一起回归?所以在做的时候
t1 = TestClass()
t1.top_coin(0)
Coin(1) ??
答案 0 :(得分:2)
这意味着您必须返回Coin
类型的实例。例如:
class TestClass:
...
def top_coin(self, size):
...
return Coin(3) # you may change the parameter '3'
因此,当您调用该方法时,可以将其存储为Coin
类型的变量:
a_coin = t1.top_coin(0)
此外,在课程__init__
的{{1}}方法中,您尚未声明Coin
。这会导致错误。