Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

ооп в python

Классы нового стиля. ООП в Python

27 августа 2013 г. Archy ООП на Python Обсудить

Классы нового стиля

Начиная с Python 2.2, помимо классических классов существует классы так называемого нового стиля. Классом нового стиля называется класс, у которого базовым классом является встроенный объект (например, list или dict) или объект object. Для классов старого и нового стили отличаются результатом выполнения функции type(), а также вывод атрибутов __class__ и __bases__ для экземпляров классов.

Классы нового стиля

class Class1:          # Классический класс
    pass
 
class Class2(object):  # Класс нового стиля
    pass
 
class Class3(list):    # Класс нового стиля
    pass
 
print type(Class1)     # Выведет: 
print type(Class2)     # Выведет: 
print type(Class3)     # Выведет: 
# __bases__ содержит кортеж с базовыми классами
 
print Class1.__bases__ # Выведет: ()
print Class2.__bases__ # Выведет: (,)
print Class3.__bases__ # Выведет: (,)
c1, c2, c3 = Class1(), Class2(), Class3()
 
print c1.__class__     # Выведет: __main__.Class1
print c2.__class__     # Выведет: 
print c3.__class__     # Выведет: 
print type(c1)         # Выведет: 
print type(c2)         # Выведет: 
print type(c3)         # Выведет: 
Далее...