@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 #1104 · 25.05
Брент Уикс, «Чёрная призма». Почти не читаю фентези, но наткнулся в сети на обсуждение книги, купил и прослушал две части. Остальные, к сожалению, на русском не вышли, и неизвестно, выйдут ли (издательство отвечает отписками). При этом история сквозная, так что сами решайте. Потому что нереальная годнота как раз для тех, кто фентези считает менее умным и серьёзным жанром, нежели обычный сайфай. В этой вселенной маги могут колдовать, создавая из света разных цветов материальную субстанцию — люксин. При этом от цвета зависят физические свойства люксина: красный, например, липкий и взрывоопасный, синий прочный как металл, из зелёного можно делать верёвки и так далее. Большинство магов извлекают люксин одного цвета, реже двух соседних. Ещё реже больше. Причём, магия вполне подчиняется обычной физике: если маг наденет очки с цветными стёклами, то ему колдуется гораздо проще. Каждый извлекатель может за жизнь совершить некоторый конечный объём магии, после чего сходит с ума, и текущее состояние на этой шкале всегда видно по степени перекрашивания глазных белков. И первый любопытный факт, что главный герой уже самый могущественный маг и правитель империи, способный неограниченно использовать все цвета. Нередко в таких произведениях герой либо скрытый избранный, внезапно обнаруживающий в себе особые способности, либо поднимающийся со дна простолюдин (вор, маленький человек итд). А тут положение героя сразу концентрирует сюжет вокруг политики, управления страной и прочих масштабных вопросов. Второй любопытный факт, что автор явно гик, так что в сюжете вы найдёте реализацию реактивной тяги на люксиновых деталях, создаваемые магами полиспасты, отсылки к оптике, строительству, и в целом очень логичный, продуманный и непротиворечивый мир. Упоминаются маги, работающие с инфракрасным и УФ-диапазоном и даже с микроволновым излучением. Отдельный респект за то, что элита и всякая пафосная знать в этом мире играет не в какой-нибудь унылый покер, который и игрой то назвать нельзя, а в настоящую ККИ, правила и геймплей которой тоже описаны с неплохой степенью подробности (думаю, писатель вдохновлялся реальной Magic The Gathering). Из недостатков могу отметить неспешный сюжет — событий происходит очень мало. Вроде как всего уже написано 5 или 6 книг, но, как я уже сказал, придётся ждать. Ещё в книге есть один раздражающий, на мой взгляд, персонаж, неправдоподобно везучий. И стоит упомянуть, что переводчики первой и второй книги разные, и они почему-то друг с другом не синхронизировались по именам. Но в остальном, пожалуй, самое интересное на мой личный вкус фентези, из тех, что я читал, если вообще такое жанровое определение применимо. Кстати, озвучку аудиокниг на русском записал профессиональный диктор Илья Дементьев, и это просто офигеть как круто звучит. Есть много хороших чтецов, но профи с 20-летним стажем поднимает чтение на какой-то нереальный уровень, как по мне. #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