Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 29, 2011 16:08:37

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

можно ли добавить методы к объектам стандартных типов?

например так:

def parse(self, pattern):
import re
return re.findall(pattern, self)[0]

str.parse = parse

test = "test 100 string"
number = test.parse('([0-9]+)')
в яваскрипте можно делать подобное с помощью прототипов, но я практически не пишу на js
можно ли сделать подобное в питоне?

питон 3.2



Отредактировано (Апрель 29, 2011 16:09:23)

Офлайн

#2 Апрель 29, 2011 22:36:23

tobb
От:
Зарегистрирован: 2011-04-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

можно ли добавить методы к объектам стандартных типов?

Добавить новый метод к строке не получится. Нужно создать новый класс и уже в него добавить требуемый метод.

class Pstr(str):
def __init__(self, value):
self.value = value

def parse(self, pattern):
import re
return re.findall(pattern, self)[0]


test = Pstr("test 100 string")
number = test.parse('([0-9]+)')



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version