Python中遇到的难题 8 self
class Nstr(str):def __sub__(self,other):
return self.replace(other,'')
#以下为代码演示
a = Nstr('ACEmmm')
b = Nstr('m')
a - b
这段代码的实现原理逻辑是什么呢Nstr('ACEmmm') 中 'ACEmmm' 这个参数会传到哪里呢 是传输到self 还是other
那么 实行a-b之后 b的'm'会传输到代码中的那一个字符的呢
'ACEmmm' 会传到 self,'m'传到other Nstr这个类继承str类,只是增加了sub方法,其他与字符类完全一样,所以
a = Nstr('ACEmmm')
b = Nstr('m')
相当于:
a='ACEmmm'
b ='m'
当调用a-b时,调用a的sub方法,self就是a,other就是b,于是调用a.replace(b,''),相当于'ACEmmm'.replace('m',''),返回'ACE' 永恒的蓝色梦想 发表于 2020-3-25 17:17
'ACEmmm' 会传到 self,'m'传到other
self 不是绑定 用的么也可以传?那么什么情况下可以传什么情况下不可以传的呢 雪之下雪乃. 发表于 2020-3-25 18:59
self 不是绑定 用的么也可以传?那么什么情况下可以传什么情况下不可以传的呢
绑定用的是什么意思 永恒的蓝色梦想 发表于 2020-3-25 19:01
绑定用的是什么意思
小甲鱼课程里面不是讲 self 是用来绑定参数的么 ?类里面的函数 需要绑定一个 self 才能被实例化调用 雪之下雪乃. 发表于 2020-3-25 19:04
小甲鱼课程里面不是讲 self 是用来绑定参数的么 ?类里面的函数 需要绑定一个 self 才能被实例化调用
a = Nstr('ACEmmm')
b = Nstr('m')
a - b
其实就相当于Nstr.__sub__(Nstr('ACEmmm'),Nstr('m'))又相当于Nstr('ACEmmm').__sub__(Nstr('m'))
页:
[1]