python魔法方法的调用
如图一中,返回值是int.__sub__,int.__add__;图二,返回值是self.__replace__( );
魔法方法前的int,self的含义?为什么这么写?
{:5_92:}
这个例子中,self是指New_int对象,int就是int对象,Python处处是对象 此处定义的类New_int是继承基类int,而int.__sub__,int.__add__是调用父类未绑定的方法,以实现父类中定义的方法,python中类的方法都要有self参数,replace是字符串方法,self.replace()是使得在类的实例化对象调用方法四实现字符串替换的操作! 魔法方法好难理解,我也是学到42课,我要跳过魔法方法直接学50课了 2131479626 发表于 2017-3-8 07:18
我记得论坛里有这个问题的答案,你搜索一下吧
搜什么内容合适 图1中的int.__sub__(self,other)是调用父类(也就是BIF函数int)的__sub__方法,
而这个的方法的作用就是减法。
例如:
int(6).__sub__(3)
3
另一行也就是同理了。
self就是绑定,绑定在实例化对象上面,使得执行的语句是对实例化对象的操作。 其实魔法方法这个有点抽象化,但是记住一点,python中一切都要实例化了才能用,所以为什么每个魔法方法都要带self就是将实例化的对象绑定进来。 很好理解~
1,括号内int指这个类继承于int类型,你可以理解成类似平时用的class B(A)这样的一般继承关系,目的是引用返回int中自带的魔法方法
2,self,指的是实例属性,简单理解就是如果一个方法是可以让实例对象进行引用的,那这个方法里面就必须要有self {:9_227:} {:9_236:} {:9_227:} 学习 没中到鱼币,, ... ... ... 学习 {:13_444:}
页:
[1]
2