请考虑以下代码:class Time: def __init__(self,hours,minutes): self.minutes = minutes self.hours = hours def addTime(t1): time = t1.minutes + t1.hours return time我不明白为什么我可以调用和方法背后的逻辑。为什么该参数可以与类的实例一起使用?t1.minutest1.hoursaddTimet1self.minutes,self.hoursTime
1 回答
www说
TA贡献1775条经验 获得超8个赞
传递给类方法的第一个参数是类实例。因此,如果你有一个类方法,它采用一个int并按该int.增加其计数,当你调用类方法时,你将传递1个参数,但在你的类方法中,你将定义了2个参数,第一个是你想要用来引用类实例的名称,第二个是从调用代码传递的实际参数。
class MyClass:
def __init__(self):
self.counter = 0
def increase(mc1, increase_by):
mc1.counter += increase_by
mines = MyClass()
print(mines.counter)
mines.increase(50)
print(mines.counter)
因此,当我的代码调用增加并传递int时,python实际上会传递两个参数,类实例和整数。当你收到这些时,我在我的方法中收到这些,我正在将我收到的类实例对象标记为mc1,将int标记为increase_by
因此,使用mc1名称,我可以访问所有类实例属性,因为mc1指向类实例
添加回答
举报
0/150
提交
取消