您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 用于String的ABC?

5b51 2022/1/14 8:21:19 python 字数 1802 阅读 524 来源 www.jb51.cc/python

我最近在集合中发现了抽象基类(ABCs),就像它们清晰,系统的方法和Mixins一样.现在我也想创建海关字符串(*),但我找不到字符串的ABC.有UserString,但不鼓励UserDict!?从str本身派生没有Mixins?如何在重写方法中访问字符串的“数据”部分?在某个地方,我看到了从Sequence和Hashable派生的建议,但是如果my_str

概述

我最近在集合中发现了抽象基类(ABCs),就像它们清晰,系统的方法和Mixins一样.现在我也想创建海关字符串(*),但我找不到字符串的ABC.

有UserString,但不鼓励UserDict!?从str本身派生没有Mixins?如何在重写方法中访问字符串的“数据”部分?

在某个地方,我看到了从Sequence和Hashable派生的建议,但是如果my_string中的’test’,我就无法写出来了?:!

你推荐哪种方法

(*)原因是:
– 编写以内部定义的方式排序的字符串
– make string(作为枚举的一部分),在与枚举范围之外的值进行比较时抛出错误

class MultiStr(str):
    def __new__(cls,string,multiplier=1,**kwds):
        self = super().__new__(cls,**kwds)
        self.multiplier = multiplier
        return self

    def __getitem__(self,index):
        item = super().__getitem__(index)
        return item * self.multiplier

>>> s = MultiStr(b'spam',multiplier=3,encoding='ascii')
>>> s[0]
'sss'
>>> s[:2]
'spspsp'
>>> s[:]
'spamspamspam'

总结

以上是编程之家为你收集整理的python – 用于String的ABC?全部内容,希望文章能够帮你解决python – 用于String的ABC?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶