@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
Источник @DevOPSitsec · Post #2113 · 1 апр.
💻 Какой язык программирования лучше для обучения? Многие школы используют Java, C#, C или C++, но всё больше образовательных программ переходят на Python. У Python есть очевидный плюс — на нём легче начать. Это помогает студентам быстрее увидеть результат и сохранять мотивацию. Но есть и минус. Python сильно абстрагирует низкоуровневые детали, поэтому студентам сложнее понять, как работают структуры данных, память и другие фундаментальные вещи. Лично я считаю, что программисты должны становиться polyglots — людьми, которые знают несколько языков. Фокусироваться на одном языке — стратегическая ошибка. Но влияет ли язык на результаты обучения? Исследование John R. Hott (ACM ICER 2025) показывает: почти никак. Студенты, которые выполняли задания: - только на Python - только на Java - на смеси языков показали статистически одинаковые результаты. Не было значимых различий: - в оценках за программирование - в письменных заданиях - в тестах и квизах - в уровне сложности, который испытывали студенты Вывод исследования простой: 👉 выбор языка программирования почти не влияет на результаты обучения. То есть преподавателям не стоит слишком переживать о том, какой язык выбрать для курса. Гораздо важнее другое. Вместо бесконечных споров *Python vs Java vs C++* стоит учить студентов: - как создавать продукты - как запускать проекты - как строить бизнес - как быть независимыми от технологических трендов Как пишет Zed Shaw в эссе “AI Didn't Kill Programming, You Did”: проблема не в AI и не в языках программирования — проблема в том, как люди учатся программированию. Главная мысль: 🚀 программирование можно выучить на любом языке. Начните с Logo. Попробуйте Ada. Изучите Python, Go, Rust или C. А ещё лучше — попробуйте придумать свой язык программирования. Именно так и начинается настоящее понимание компьютеров. Исследование https://engineering.virginia.edu/faculty/john-r-hott Эссе https://learncodethehardway.com/blog/39-ai-didnt-kill-programming-you-did/ #programming#education#python#java
Поиск: #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