如何在python中扩展内置类?
我想向str类添加一个方法。
我已经进行了一些搜索,但是我发现的只是较旧的帖子,我希望有人知道一些新的内容。

最佳答案

只是将类型子类化

>>> class X(str):
...     def my_method(self):
...         return int(self)
...
>>> s = X("Hi Mom")
>>> s.lower()
'hi mom'
>>> s.my_method()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in my_method
ValueError: invalid literal for int() with base 10: 'Hi Mom'

>>> z = X("271828")
>>> z.lower()
'271828'
>>> z.my_method()
271828

09-18 01:49