@djangoproject · Post #155 · 04.09.2016 г., 12:23
https://anthony-zhang.me/blog/python-bound-methods/ when & why we use @#staticmethod
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #657 · 19.11
Лет десять назад мне очень нравилось всё, что делает и пишет Тёма Лебедев. Я с удовольствием читал "Ководство" и "Бизнес-линч". Мне импонировали его подходы к дизайну и к организации работы своей студии. Ещё я считал его человеком очень прямолинейным, который называет вещи своими именами и не боится высказываться не по шаблону. Когда я первый раз зашёл на сайт Студии Лебедева, увидел там слоган "Долго. Дорого. Ох**нно.", подумал ещё: "Ого, чувак прямо на своём официальном бизнес-сайте пишет не приторным рекламным языком, а что-то такое дерзкое." Потом на время перестал за ним следить, переключившись на другие источники. И вот в этих новых источниках в какой-то момент появился дискурс "Тёма Лебедев сошёл с ума и несёт какую-то ересь". Источники были в основном либерально-прозападные, я очень сильно им доверял и всецело без каких-либо сомнений принимал ту картину мира, которую они преподносят. Поэтому, не став вообще ничего смотреть и читать, что говорит Лебедев, я тоже совершенно чётко и однозначно принял для себя тезис "Лебедев сошёл с ума и несёт чушь". Если бы вы меня год назад спросили про Лебедева, я бы вам сказал: "Но ведь совершенно очевидно же, что Лебедев свихнулся и несёт херню". Это было частью объективной реальности вокруг меня, наряду с утверждениями "вода мокрая" и "солнце жёлтое". Как это совмещалось с тем, что прежде мне нравилось то, что делает и говорит Тёма? Никак. Кац, которого я активно смотрел, даже в одном из своих видео подробно пытался ответить на вопрос "Почему в целом неглупый Лебедев несёт чушь и высказывает какие-то нелиберальные и незападные идеи?". И ответом Каца было что-то в духе: "Это необъяснимо, скорее всего он один раз пошутил и сказал что-то пророссийское, шутка затянулась, теперь уже продолжает так говорить, чтобы сохранить лицо". Так себе объяснение, но я и его принял. За этот год на фоне известных событий мои взгляды претерпели много изменений. Я рефлексировал в себе этот вопрос, и когда-нибудь может напишу вам более подробно. Но Каца смотреть перестал почти сразу где-то в марте. Как минимум, либеральная идеология оказалась для меня несовместима с решением остаться в России, а я уезжать совсем не хочу. Тогда я для интереса посмотрел несколько роликов Лебедева и с удивлением обнаружил, что, во-первых, я согласен с 90% того, что он говорит. Ну вот прям дословно по некоторым пунктам (типа взгляды на взаимоотношения Европы с мигрантами или взгляды на ЛГБТ). И вообще у него удивительно близкая к моей система ценностей и представление о том, как люди должны себя вести. Во-вторых, он всё так же выглядит для меня просто чуваком, который прямым текстом называет вещи своими именами и открыто высказывает своё мнение по тем или иным вопросам, независимо от того, попадает ли это мнение в какую-либо идеологию или нет. Ну то есть я лет пять на полном серьёзе считал чела городским юродивым и был абсолютно уверен, что он задвигает безумную хрень, а чел всё это время говорил нормальные и правильные вещи (с моей точки зрения). Вместо того, чтобы самому сходить посмотреть на канал Тёмы, я посмотрел реакцию Каца на канал Тёмы и удовлетворился этим. Не будьте мной в этом вопросе. Независимо от вашей позиции на идеологическом компасе и от вашего отношения к упомянутым персонажам: формируйте своё мнение самостоятельно. P.S. Политические споры под этой записью запрещены, сразу бан. #life
Hashtags
Търсене: #staticmethod
@djangoproject · Post #155 · 04.09.2016 г., 12:23
https://anthony-zhang.me/blog/python-bound-methods/ when & why we use @#staticmethod
Hashtags
@djangoproject · Post #593 · 13.04.2018 г., 19:48
@#classmethod vs @#staticmethod vs "plain" methods What's the difference? class MyClass: def method(self): """ Instance methods need a class instance and can access the instance through self. """ return 'instance method called', self @classmethod def classmethod(cls): """ Class methods don't need a class instance. They can't access the instance (self) but they have access to the class itself via cls. """ return 'class method called', cls @staticmethod def staticmethod(): """ Static methods don't have access to cls or self. They work like regular functions but belong to the class's namespace. """ return 'static method called' # All methods types can be # called on a class instance: »> obj = MyClass() »> obj.method() ('instance method called', <MyClass instance at 0x1019381b8>) »> obj.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> obj.staticmethod() 'static method called' # Calling instance methods fails # if we only have the class object: »> MyClass.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> MyClass.staticmethod() 'static method called' »> MyClass.method() TypeError: "unbound method method() must be called with MyClass " "instance as first argument (got nothing instead)"
Hashtags
@djangoproject · Post #385 · 15.07.2017 г., 16:17
# @classmethod vs @staticmethod vs "plain" methods # What's the difference? class MyClass: def method(self): """ Instance methods need a class instance and can access the instance through self. """ return 'instance method called', self @classmethod def classmethod(cls): """ Class methods don't need a class instance. They can't access the instance (self) but they have access to the class itself via cls. """ return 'class method called', cls @staticmethod def staticmethod(): """ Static methods don't have access to cls or self. They work like regular functions but belong to the class's namespace. """ return 'static method called' # All methods types can be # called on a class instance: »> obj = MyClass() »> obj.method() ('instance method called', <MyClass instance at 0x1019381b8>) »> obj.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> obj.staticmethod() 'static method called' # Calling instance methods fails # if we only have the class object: »> MyClass.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> MyClass.staticmethod() 'static method called' »> MyClass.method() TypeError: "unbound method method() must be called with MyClass " "instance as first argument (got nothing instead)" #classmethod#staticmethod
Hashtags
@djangoproject · Post #126 · 31.08.2016 г., 02:13
goo.gl/QkvD2L #staticmethod #Classmethod
Hashtags
@djangoproject · Post #87 · 11.07.2016 г., 11:53
https://docs.python.org/3/library/functions.html#staticmethod #staticmethod(function) Return a #static method for function. A static method does not receive an implicit first argument. To declare a static method, use this idiom: class C: @staticmethod def f(arg1, arg2, ...): ... The @staticmethod form is a function decorator – see the description of function definitions in Function definitions for details. It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class. Static methods in Python are similar to those found in Java or C++. Also see classmethod() for a variant that is useful for creating alternate class constructors. For more information on static methods, consult the documentation on the standard type hierarchy in The standard type hierarchy. class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a str version of object. See str() for details. str is the built-in string class. For general information about strings, see Text Sequence Type — str.
Hashtags