Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2015 22:43:35

kampella
Зарегистрирован: 2014-11-21
Сообщения: 95
Репутация: +  1  -
Профиль   Отправить e-mail  

Старый и новый стиль классов в Python < 3.0

В чем разница между
class A(object): pass
и просто
class A(): pass

В class A() нету атрибута __class__, что в таком случае его порождает?

Офлайн

#2 Фев. 16, 2015 23:56:20

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Старый и новый стиль классов в Python < 3.0

смотрите в сторону отличия старого и нового стиля классов
также можете почитать pep252, 253
и вот посмотрите https://www.python.org/download/releases/2.2.3/descrintro/
но я бы не советовал забивать этим голову))
“You'll need to be a serious Python wizard to find the PEPs very helpful; they are deep magic, indeed” (Andrew Kuchling)



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Фев. 17, 2015 00:27:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Старый и новый стиль классов в Python < 3.0

kampella
и просто
class A(): pass
class A: pass
Написание скобок равносильно написанию точки с запятой в конце операторов.

kampella
В class A() нету атрибута __class__
>>> class A: pass
... 
>>> A.__class__
<class 'type'>
>>>



Офлайн

#4 Фев. 17, 2015 00:35:34

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Старый и новый стиль классов в Python < 3.0

py.user.next
>>> class A: pass

>>> A.__class__
<class ‘type’>
>>>
Вы о 3? мне кажеться вопрос по 2
>>> class A: pass
... 
>>> A.__class__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: class A has no attribute '__class__'



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Фев. 17, 2015 00:37:21)

Офлайн

#5 Фев. 17, 2015 01:47:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Старый и новый стиль классов в Python < 3.0

terabayt
мне кажеться вопрос по 2
Да, это я увидел 3 в теме, но не обратил внимания на <.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version