Объекты и классы в Python
Материал из Xgu.ru
Содержание |
[править] Вопросы и ответы
[править] Как установить и прочитать атрибут объекта, если его имя есть только в виде строки?
Если название атрибута в attrname, а объект называется object,
прочитать атрибут:
getattr(object,attrname)
Записать value в атрибут:
setattr(object,attrname,value)
Проверить наличие атрибута можно с помощью hasattr, а удалить атрибут можно с помощью delattr.
Создать объект, имя которого находит в строковой переменной, можно с помощью new.classobj.
[править] Как создать хэш функций с помощью классов?
def cleandict(x): for k in ('__module__', '__doc__'): del x[k] return x @cleandict @asdict class baz: def bar(): pass def zon(x): return 1+x
Дополнительная информация:
- Python: dictionary of functions (англ.)
[править] Дополнительная информация
[править] Объектно-ориентированное программирование
- Python ООП – это здорово (рус.)
- Объектно-ориентированное программирование на Питоне (рус.)
- http://effbot.org/pyfaq/how-do-i-copy-an-object-in-python.htm (англ.) — заметка о "правильном" копировании объектов
[править] Что ещё можно почитать?
- The Python getattr Function (англ.)
- Python's Super is nifty, but you can't use it (англ.) --- why superclasses in python are not so good
- Python Superclass Reflection (англ.)
[править] Примечания
Информация о Python на xgu.ru | ||
---|---|---|
Реализации | Cython • Psyco • PyPy | |
Веб-фреймворки | Django • Flask • Zope | |
IDE | Pydev • NetBeans | |
Курсы | Python для сетевых инженеров | |
Другое | aalib • ctypes • gevent • mpmath • pjsua • Pandas • pyparsing • virtualenv • GMPY • IPython • Jinja2 • Python и Vim • Работа с модулями в Python • SWIG • Scapy • SciPy • Работа с датой и временем в Python • Python как shell • Web и Python • Алгоритмы, сложные структуры данных и дискретная математика в Python • Анализ кода Python • Интеграция Python с другими языками • Объекты и классы в Python • Оформление кода Python • Параллелизм и конкурентное исполнение в Python • Профайлинг в Python • Работа с базами данных в Python • Работа с операционной системой в Python • Работа с сетью в Python • Работа с текстами в Python • Работа с файлами в Python • Сравнение Python с другими языками • Тестирование в Python • Типы в Python • Элементы функционального программирования в Python • Элементы языка Python |