@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 #211 · 7.02
Приобщился к миру механических клавиатур. Механическая клавиатура — это название ряда способов организации нажатия клавиш. Разумеется, механика как физическое понятие есть во всех не сенсорных клавиатурах. Можно сделать клавишу, которая продавливает мембрану специальной формы — такие клавиатуры мы в основном видим в ноутбуках. А можно сконструировать специальной формы пружину, у которой в общем случае будет разное усилие в зависимости от положения, разная глубина хода и разный момент срабатывания. Так получилось, что у значимой доли людей работа с такими клавишами вызывает приятный эмоционально-тактильный отклик. Поэтому вокруг механических клавиатур выросла целая религия, без какого-либо преувеличения. Это очень похоже на то, как ведут себя, например, аудиофилы или фанаты Apple: - делать вид, что решений за пределами религии не существует: «Зачем вообще кто-то покупает обычную клавиатуру (...устройства не Apple, простые наушники, итд)?»; - убеждать людей, которые не примкнули к религии, что у них просто религии нормальной не было: «Ты просто попробуй попечатать на механике (...попользоваться айфоном, послушать вот эти наушники, выпить вот этот алкоголь...), обратно не захочешь!»; - тратить много денег на продукты, которые людям вне религии кажутся мало отличимыми от продуктов за мало денег; - создавать много религиозно-специфичных деталей, терминов и ритуалов, непонятных широкому кругу. В мире механических клавиатур так много деталей и мелочей, что утонуть можно очень быстро. Есть типы механизмов и характеристики каждого механизма, которые ещё и носят кодовые названия по цветам. Например, я взял простенькую (по меркам религии) клавиатуру Durgod K320 Nebula, а переключатели у неё Cherry MX Silver — это означает, что у них линейная зависимость между силой и положением, величина усилия 45 сантиньютонов, длина хода до срабатывания 1.2 мм, и общая длина хода 3.4 мм. Настоящие адепты, впрочем, составляют кастомные клавиатуры, где разные клавиши сконфигурированы по-разному. Ещё очень важен звук — на сайтах про механики предлагают даже послушать щелчок того или иного типа переключателей. У меня вот относительно тихие и глухие щелчки. Так вот. Я много слышал об этом, но сам не пользовался раньше. Моя старая клавиатура стёрлась, и я решил попробовать. Надо сказать, на меня религия вполне подействовала! Оказалось, я как раз из тех людей, кому кайфово. Первые дни я вообще не мог остановиться, постоянно хотелось делать клац-клац. Боюсь, при следующей покупке я рискую стать одним из тех, кто будет делать кастомную сборку за неадекватные для клавиатуры деньги. Я во всех чатах после покупки писал о том, как мне прикольно набирать текст. Но вам советовать не стану, не пробуйте! #gadgets
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