|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 2. 定义一个类 Nstr,当该类的实例对象间发生的加、减、乘、除运算时,将该对象的所有字符串的 ASCII 码之和进行计算。
- >>> a = Nstr('FishC')
- >>> b = Nstr('love')
- >>> a + b
- 899
- >>> a - b
- 23
- >>> a * b
- 201918
- >>> a / b
- 1.052511415525114
- >>> a // b
- 1
- 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
- def __sub__(self, other):
- return self.total - other.total
- def __mul__(self, other):
- return self.total * other.total
- def __truediv__(self, other):
- return self.total / other.total
- def __floordiv__(self, other):
- return self.total // other.total
- 当然你也可以这么做:
- class Nstr(int):
- def __new__(cls, arg=0):
- if isinstance(arg, str):
- total = 0
- for each in arg:
- total += ord(each)
- arg = total
- return int.__new__(cls, arg)
复制代码
想求教一下 两段 代码的 具体的区别是什么? |
|