使用魔法方法,求解取模
class Serendipitv(int):def __mod__(self,other):
return int.__mod__(self,other)
genuine=Serendipitv(258,7)
print(genuine)
程序运行报错,那么如何给程序传入2个数字呢?
把第四行改为
genuine=Serendipitv(258) % Serendipitv(7) tommyyu 发表于 2022-10-31 08:15
把第四行改为
如果在第4句添加 % , 那么这个魔法方法还有什么意义呢 ?
整个程序就直接写成这样了:
genuine=258 % 7
print(genunie)
dragov 发表于 2022-10-31 08:46
如果在第4句添加 % , 那么这个魔法方法还有什么意义呢 ?
整个程序就直接写成这样了:
你定义了这个类的__mod__方法,所以就需要让两个 Serendipitv 的对象向取模,这样才会调用他的__mod__魔法方法
相当于 在两个 Serendipitv 对象使用 % 运算符是,这个魔法方法才会被调用 dragov 发表于 2022-10-31 08:46
如果在第4句添加 % , 那么这个魔法方法还有什么意义呢 ?
整个程序就直接写成这样了:
而你 genuine=Serendipitv(258,7) 这样写调用的是 Serendipitv 的 __init__ 方法,但是你这个类继承了 int 类,而 int 类的 __init__ 方法只有两个参数,而你在调用的时候传入了两个参数,加上 self 是三个参数,就会报错 tommyyu 发表于 2022-10-31 08:52
而你 genuine=Serendipitv(258,7) 这样写调用的是 Serendipitv 的 __init__ 方法,但是你这个类继承了 in ...
{:7_130:} 谢谢
页:
[1]