Python добавляет новые методы для встроенных типов - PullRequest
2 голосов
/ 20 марта 2012

Как мне написать о функциях Python, которые можно добавлять к строкам (или другим объектам)?

, например:

"FOO".lower()

Как они получают ввод?Они генераторы?

Я с радостью прочитаю об этом, но я действительно не знаю, что я ищу.

Ответы [ 2 ]

6 голосов
/ 20 марта 2012

Строки являются объектами и поэтому имеют методы.lower() является одним из них.

Вы не можете добавить пользовательский метод к str, unicode или любым другим встроенным (написанным на C) классам - см. Реализация пользовательского строкового метода и Расширение встроенных классов в Python

1 голос
/ 20 марта 2012

Они не генераторы.Это просто методы , определенные в классе string.

Вы можете создать свой собственный, как это:

>>> class MyString(str):
...   def reversed(self):
...     return self[::-1]
... 
>>> x = MyString('spam and eggs')
>>> x.reversed()
'sgge dna maps'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...