为了账号安全,请及时绑定邮箱和手机立即绑定

在类内的方法中调用实例属性的逻辑

在类内的方法中调用实例属性的逻辑

红糖糍粑 2022-08-16 10:15:05
请考虑以下代码: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指向类实例


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信