@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 #567 · 23.09
Закончил "Страна Качества 2.0" Марка Уве-Клинга. Я уже писал вам о первой части, вот это продолжение. Напомню, что Уве-Клинг описывает антиутопическое будущее с несколько гротескным и гипертрофированным обществом потребления, и делает это очень остроумно. Во второй книге видно, что у автора появился некоторый писательский опыт: первую часть я ругал за разрозненность и в целом нестройное повествование, сюжет был нарезкой отдельных сценок. Но новая книга в этом отношении удалась лучше, она уже значительно более целостная. Всё так же много крутых интересных идей. Напишу три основные, которые мне особенно понравились. 1. На злобу дня. В сюжете описана Третья Мировая, которая прошла всего за 8 часов, потому что воевали роботы. За это время кто-то там был уничтожен, кто-то победил, и всё закончилось. Многие этого даже не заметили, потому что роботы действуют очень быстро. Понятно, что это фантазия (книга то гротескная), но отдельно понравилось, что люди потом разбирали километры логов, чтобы понять, почему, собственно, война началась (начали её тоже роботы к удивлению людей). У роботов всякие там автоматические триггеры, описывающие, что и в какой ситуации они должны делать, так что после первого камушка всё покатилось лавинообразно. 2. Главный герой книги по профессии инженер-ремонтник ("лекарь машин"). Но во все машины в будущем встроен ИИ, поэтому его работа по большей части состоит в том, что он общается с бытовой техникой и уговаривает её снова начать работать. Упоминается, в частности, робот пылесос, у которого отвращение к мусору под кроватью, робот-обнимашка в виде плюшевого медведя, который не любит детей, робот-холодильник, который поссорился с плитой и отказался функционировать, и много всего такого. Смешные сценки в стиле "Пациент в кабинете врача", остроумный юмор. 3. Есть длинные диалоги между главным героем и самым богатым человеком в мире, об экономике и устройстве общества. Отдельно запомнилась вот такая мысль: принято считать, что рынок автоматически регулирует ценность профессий. Платить будут тем, кто нужен, а кто нет — не будут. Здесь устами героя Уве-Клинг приводит контраргументы: платят больше тем, кто нужен богатым людям, поэтому адвокаты дороже врачей (автор немец, видимо, в Германии адвокаты тоже дороже врачей, как и у нас), но это не отражает реальную потребность в тех или иных специалистах для общества в целом. Более того: богатые люди могут выдумывать профессии и платить за какую-то ерунду, в которой на самом деле нет пользы. В книге описывается, что все автомобили стали самоходными (со встроенным ИИ), поэтому богачи — чтобы выделиться и из любви к ретро — нанимают людей, которые просто сидят на месте водителя и ничего не делают. Ну и конечно автор вдоволь прошёлся по офисным эникейщикам, вся работа которых состоит в изображении занятости. Я думаю, по этим книгам вышел бы очень крутой сериал. И структура удобная: есть сквозной сюжет, есть микросюжеты для отдельных серий. #fiction
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