Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 April 06

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
это удобно когда например класс представляет собой просто набор неких функций поведение которых не зависит от экземпляра
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
classmethod же дает доступ методу к классу
но не к экземпляру
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Благодарю
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну и в этом месте надо углубиться в устройство питона)
x = None
print(dir(x))

['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
у x = None оказывается есть куча методов
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Где можно углубиться в эти дела?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
x = None

print(x.__class__)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
x = None
print(x.__class__())
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
NoneType?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
атрибуты есть у объектов
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в общем - тут реально бездонная тема - начать можно с того что у объектов в питоне есть атрибуты меняя которые собственно эта вся магия и случается
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
касательно classmethod - без него первым аргументом передается экземпляр класса(self)
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Страшно
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
class Foo:
   def foo(selfic):
       print(dir(selfic))

Foo().foo()

на самом деле - self строго не обязательно
имя не имеет значения
источник