| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:请问大虾:python有没有方法扩展第三方库的类方法
只看楼主 加入收藏
big_chen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-4-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
请问大虾:python有没有方法扩展第三方库的类方法
大虾上午好:
菜鸟正在学习python,想从第三方库cn2an中扩展一下类class An2Cn(object)的方法an2cn(self, inputs: Union[str, int, float] = None, mode: str = "low") -> str:
使其能在用“low”做第二个参数时输出带RMB¥前缀带两位小数的浮点数,在用“rmb”做第二个参数时,输出带“人民币”前缀的中文大写金额。初步接触派生类虚函数,貌似需要在基类的方法中加上虚方法标志才能在派生类用虚方法进行改写,但是我不想动第三方库已成熟的东西。

诚恳请教大虾,该如何用OOP的方式来解决这个问题?非常期待大虾能解答,谢谢先!

附我自己拙劣的结构化方法来拓展:
def float2currencycap(fval, mode):
    if mode == 'lower':
        return 'RMB¥%.2f' % fval
    elif mode == 'upper':
        return "人民币" + cn2an.an2cn(fval, "rmb")
    else:
        return 'unknown mode!'
搜索更多相关主题的帖子: 第三方 扩展 方法 str python 
2023-06-29 10:30
yiyanxiyin
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:9
帖 子:178
专家分:1256
注 册:2023-6-29
收藏
得分:20 
_an2cn=An2Cn.an2cn
def float2currencycap(self,fval, mode):
    if mode == 'lower':
        return 'RMB¥%.2f' % fval
    elif mode == 'upper':
        return "人民币" + _an2cn(self,fval, "rmb")
    else:
        return _an2cn(self,fval, mode)
An2Cn.an2cn=float2currencycap   
2023-06-29 16:00
big_chen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-4-5
收藏
得分:0 
天哪,菜鸟叩谢大虾,看来是我原来的思维受限了,最后一个语句实际上在该库里一些函数就有类似的用法,可是我没有想到在这里还能解决这个问题,太感谢了!
2023-06-30 17:07
快速回复:请问大虾:python有没有方法扩展第三方库的类方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027452 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved