运算重载符
class Nstr:def __init__(self, arg=''):
if isinstance(arg, str):
self.total = 0
for each in arg:
self.total += ord(each)
else:
print("参数错误!")
def __add__(self, other):
return self.total + other.total
这里为什么要用isinstance 判断呢????求大佬解释解释{:5_94:} {:5_94:} 本帖最后由 Twilight6 于 2020-6-17 11:39 编辑
isinstance(obj,classinfo):如果对象obj是类classinfo的实例则返回True,否则返回False
就是防止你输入的不是字符串呀,因为我们重写的这个类功能就是将字符串能够进行相加减
所以要通过 isinstance 判断是否为字符串才能循环遍历进行 ASCII 码值相加 不是字符串无法用for遍历呀 qiuyouzhi 发表于 2020-6-17 11:36
不是字符串无法用for遍历呀
……关键我还没看懂这段代码是干什么的 _2_ 发表于 2020-6-17 12:30
……关键我还没看懂这段代码是干什么的
就是把一个字符串的每个字符的ASCII值加起来 Twilight6 发表于 2020-6-17 11:36
就是防止你输入的不是字符串呀,因为我们重写的这个类功能就是将字符串能够进行相加减
所以要通过 ...
懂了懂了感谢大佬 a1053828045 发表于 2020-6-17 15:18
懂了懂了感谢大佬
客气客气~~~加油! qiuyouzhi 发表于 2020-6-17 12:37
就是把一个字符串的每个字符的ASCII值加起来
{:5_110:}感谢
页:
[1]