beoliver
beoliver

Reputation: 5759

python adding new methods to built-in types

How would I go about writing python functions that can be append to strings (or other object)?

for example:

"FOO".lower()

How do they receive input? Are they generators?

I will happily read up on it, but I don't really know what I am looking for.

Upvotes: 2

Views: 2980

Answers (2)

ThiefMaster
ThiefMaster

Reputation: 318628

Strings are objects and thus have methods. lower() is one of them.

You cannot add a custom method to str, unicode or any other builtin (written in C) classes - see Implementing a custom string method and Extending builtin classes in python

Upvotes: 7

wim
wim

Reputation: 363233

They are not generators. They are simply methods defined on the string class.

You could create your own like this:

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

Upvotes: 2

Related Questions