我如何编写可附加到字符串(或其他对象)的python函数?
例如:
"FOO".lower()
他们如何收到投入? 他们是发电机吗?
我很乐意读到它,但我真的不知道我在找什么。
答案 0 :(得分:6)
字符串是对象,因此有方法。 lower()
就是其中之一。
您无法向str
,unicode
或任何其他内置(用C编写)类添加自定义方法 - 请参阅Implementing a custom string method和Extending builtin classes in python
答案 1 :(得分:1)
他们不是发电机。它们只是在string
类上定义methods。
您可以像这样创建自己的:
>>> class MyString(str):
... def reversed(self):
... return self[::-1]
...
>>> x = MyString('spam and eggs')
>>> x.reversed()
'sgge dna maps'