利用动态继承将字串数字转换成国字

看了这篇手痒,也来写写看。
顺便练习python的物件导向。(因为我很少用)
目标,将一个字串转换成 Hans 物件,利用 hans 属性存取,将字串中的数字转成正楷国字,并保有 str 的方法。

# Hans物件,继承str,并初始化。class Hans(str):def __init__(self, string=""):super().__init__()# 要动态增加的方法def hans(string):import reh = ["零", "壹", "贰", "参", "肆", "伍", "陆", "柒", "捌", "玖"]for i in re.findall(r"\d", string):string = string.replace(i, h[int(i)])return string# 将 hans 属性化,并动态增加至 HansHans.hans = property(hans)# 输出为「EEE测试壹贰参」,可以看到可以使用了 str 的内建方法 upper()print(Hans("eee测试123").hans.upper())

附记:python内建物件不可以附加方法,所以不能用

str.hans = property(hans)

会报错


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章