在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算。
首先我们定义一个类 Num :
class Num(object):
def __init__(self, n):
self.n = n
def __repr__(self):
return self.n
def __str__(self):
return str(self.n)
然后把这个类初始化为各个中文数字:
一 = Num(1)
五 = Num(5)
八 = Num(8)
运行效果如下图所示:
代码里面,通过实现 __repr__ ,能实现在Jupyter或者Python命令行交互环境里面输入变量名回车就显示变量的值。
通过实现 __str__ ,能实现在Python 里面 print (变量) 的时候打印出具体的值。
但现在还不够,当我们进行四则运算的时候,会报错:
为了能够正常实现 一 + 1 ,我们需要实现 __add__ 方法:
class Num(object):
def __init__(self, n):
self.n = n
def __repr__(self):
return str(self.n)
def __str