【问题标题】:python adding new methods to built-in typespython向内置类型添加新方法
【发布时间】:2012-03-20 10:34:16
【问题描述】:

我将如何编写可以附加到字符串(或其他对象)的 python 函数?

例如:

"FOO".lower()

他们如何接收输入? 他们是发电机吗?

我会很高兴地阅读它,但我真的不知道我在寻找什么。

【问题讨论】:

标签: python function chaining


【解决方案1】:

字符串是对象,因此具有方法。 lower() 就是其中之一。

您不能将自定义方法添加到 strunicode 或任何其他内置(用 C 语言编写)类 - 请参阅 Implementing a custom string methodExtending builtin classes in python

【讨论】:

  • 谢谢...我现在真的很傻,完全忘记了 str 是它自己的类!让我们更有意义!
【解决方案2】:

它们不是生成器。它们只是在string 类上定义的methods

您可以像这样创建自己的:

>>> class MyString(str):
...   def reversed(self):
...     return self[::-1]
... 
>>> x = MyString('spam and eggs')
>>> x.reversed()
'sgge dna maps'

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多