@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 #680 · 5.12
Фантасты любят изображать подводные города и всяких подводных жителей. Начиная от Звездных Войн с гунганами, и заканчивая новыми фильмами по комиксам (и их первоисточниками): в DC есть Атлантида, в Марвел вот ввели Талокан (который в комиксах вроде бы тоже буквально Атлантида). И там и там появление подводных людей объясняется как-то так: были обычные наземные люди, потом с ними что-то случилось, воздействие какой-то фигни, они, дескать, мутировали и стали жить под водой. У меня в такие моменты отключается приостановка неверия. Ну не может существо с похожим на человеческое телом постоянно жить под водой. Дерек Кюнскен в книге "Квантовый волшебник", о которой я вам рассказывал, описывает людей, генетически измененных для постоянной жизни в океане. Во-первых, у них нет подвижных век, потому что глаза не нужно смачивать. Крупная относительно тела голова, глаза огромные, чешуя. Во-вторых, хвост вместо ног. И правда, если существа не опираются на поверхность, у них нет необходимости в ногах. Да, по сюжету они изредка выходят на сушу. Тут мы можем для примера посмотреть на животных, которые дышат атмосферным кислородом, но чье тело биомеханически приспособлено к воде: морские котики, тюлени, моржи, пингвины итд. Они на земле довольно неуклюжи, могут разве что медленно переваливаться. В-третьих, люди-рыбы у Кюнскена не используют звуковую речь и общаются колебаниями электромагнитного поля. Обычным людям по сюжету приходится применять специальные синтезаторы голоса, чтобы общаться с амфибиями. Ну и конечно никакой речи не может идти о присутствии рыболюдей на суше и использовании ими человеческих инструментов и инфраструктуры. Их транспортируют в больших чанах с водой под давлением, и такие же делают отсеки в космических кораблях, где они нужны (там в книге эти рыбы могут выдерживать большие перегрузки и поэтому служат пилотами на истребителях). А в фильмах существа с ногами и веками живут постоянно в воде, в темноте и холоде, не имея удобного для передвижения и коммуникации тела. Не верю! Даже по меркам киносказок. Верю в подводный город Восторг из первого Bioshock, в котором просто построенные на дне дома с атмосферой для людей. Там в процессе игры постоянно ощущаешь, насколько чужеродна для человека толща океана вокруг, и как много усилий пришлось приложить инженерам, чтобы сдержать чудовищное давление и обеспечить какую-то возможность передвигаться и вести свою деятельность. #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