Статические методы в Python
Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора
Статические методы часто используются для реализации функционала, не зависящего от состояния экземпляра класса и полезны при создании утилитарных классов и функций.
Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс StringUtils, не создавая отдельных объектов.
Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора
@staticmethod
.Статические методы часто используются для реализации функционала, не зависящего от состояния экземпляра класса и полезны при создании утилитарных классов и функций.
Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс StringUtils, не создавая отдельных объектов.
👍23🏆1
#вопросы_с_собеседований
Что такое подгенератор (subgenerator)?
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Что такое подгенератор (subgenerator)?
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
👍23🍾1
#Вопросы_с_собеседования
Можно ли объявлять функцию внутри другой функции? Где она будет видна?
Да, функции можно объявлять внутри других функций. Такая вложенная функция будет видна и доступна для вызова только внутри родительской функции, в которой она определена.
Это называется замыканием и позволяет ограничить область видимости вложенной функции, чтобы она не загрязняла глобальное пространство имен.
Вложенные функции могут быть полезны, когда нужно реализовать вспомогательную логику, связанную только с работой родительской функции.
Можно ли объявлять функцию внутри другой функции? Где она будет видна?
Это называется замыканием и позволяет ограничить область видимости вложенной функции, чтобы она не загрязняла глобальное пространство имен.
Вложенные функции могут быть полезны, когда нужно реализовать вспомогательную логику, связанную только с работой родительской функции.
👍27🤔1
collections.MutableMapping
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Основное преимущество в использовании
Например, во многих функциях в стандартной библиотеке есть параметры типа
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Mapping
и добавляет методы для изменения отображения, такие как __setitem__
, __delitem__
и clear
. Основное преимущество в использовании
MutableMapping
— это возможность передавать экземпляры такого класса в любое API, ожидающее словарь. Например, во многих функциях в стандартной библиотеке есть параметры типа
dict
. Если создать класс, реализующий MutableMapping
, его экземпляры можно будет передавать в такие функции.👍15
SpeechRecognition
SpeechRecognition – это библиотека Python, которая позволяет использовать API распознавания речи от разных компаний, таких как Google, Microsoft, IBM и другие. Она также имеет возможность работать офлайн.
#для_продвинутых
SpeechRecognition – это библиотека Python, которая позволяет использовать API распознавания речи от разных компаний, таких как Google, Microsoft, IBM и другие. Она также имеет возможность работать офлайн.
#для_продвинутых
👍23
TurboGears
TurboGears — это фреймворк для создания веб-приложений на Python. Он состоит из набора взаимозаменяемых компонентов, упрощающих и ускоряющих разработку.
Вот некоторые ключевые особенности TurboGears:
— TurboGears использует архитектурный шаблон Model-View-Controller (MVC), разделяя ваше приложение на логические блоки: модель, представление и контроллер. Это способствует более организованной и поддерживаемой разработке.
— TurboGears позволяет вам выбирать нужные библиотеки и инструменты. По умолчанию он использует Pylons, SQLAlchemy, Genshi и Repoze, но вы можете заменить их на другие.
#для_продвинутых
TurboGears — это фреймворк для создания веб-приложений на Python. Он состоит из набора взаимозаменяемых компонентов, упрощающих и ускоряющих разработку.
Вот некоторые ключевые особенности TurboGears:
— TurboGears использует архитектурный шаблон Model-View-Controller (MVC), разделяя ваше приложение на логические блоки: модель, представление и контроллер. Это способствует более организованной и поддерживаемой разработке.
— TurboGears позволяет вам выбирать нужные библиотеки и инструменты. По умолчанию он использует Pylons, SQLAlchemy, Genshi и Repoze, но вы можете заменить их на другие.
#для_продвинутых
👍15🔥2
Web2py
Web2py — это бесплатный фреймворк с открытым исходным кодом, предназначенный для быстрой разработки безопасных веб-приложений, основанных на базах данных. Он написан на Python и программируется с использованием того же языка.
#для_продвинутых
Web2py — это бесплатный фреймворк с открытым исходным кодом, предназначенный для быстрой разработки безопасных веб-приложений, основанных на базах данных. Он написан на Python и программируется с использованием того же языка.
#для_продвинутых
🤔7👍4
CherryPy
CherryPy — это легковесный объектно-ориентированный веб-фреймворк на Python, предназначенный для быстрой разработки веб-приложений. Он отличается простотой и элегантностью подхода, позволяя создавать мощные и гибкие веб-сайты.
#для_продвинутых
CherryPy — это легковесный объектно-ориентированный веб-фреймворк на Python, предназначенный для быстрой разработки веб-приложений. Он отличается простотой и элегантностью подхода, позволяя создавать мощные и гибкие веб-сайты.
#для_продвинутых
👍20
Asyncore
Asyncore — это модуль в Python, который позволяет создавать асинхронные сетевые приложения. Он был частью стандартной библиотеки Python с версии 2.0 до версии 3.11, но с версии 3.6 он помечен как устаревший и будет удален в версии 3.12.
Asyncore работает, используя дескрипторы событий. Дескриптор события - это объект, который представляет собой сокет или другой объект, который может генерировать события. Asyncore отслеживает дескрипторы событий и вызывает их методы обратного вызова, когда происходят события.
#для_начинающих
Asyncore — это модуль в Python, который позволяет создавать асинхронные сетевые приложения. Он был частью стандартной библиотеки Python с версии 2.0 до версии 3.11, но с версии 3.6 он помечен как устаревший и будет удален в версии 3.12.
Asyncore работает, используя дескрипторы событий. Дескриптор события - это объект, который представляет собой сокет или другой объект, который может генерировать события. Asyncore отслеживает дескрипторы событий и вызывает их методы обратного вызова, когда происходят события.
#для_начинающих
👍12🤔6😱1
Библиотека ELI5
ELI5 (расшифровывается как "Explain like I'm 5") – это библиотека Python, предназначенная для отладки и объяснения предсказаний классификаторов машинного обучения. Она работает с популярными библиотеками машинного обучения, такими как scikit-learn, XGBoost, Keras.
#для_начинающих
ELI5 (расшифровывается как "Explain like I'm 5") – это библиотека Python, предназначенная для отладки и объяснения предсказаний классификаторов машинного обучения. Она работает с популярными библиотеками машинного обучения, такими как scikit-learn, XGBoost, Keras.
#для_начинающих
👍16
Tkinter
Tkinter — это стандартная библиотека Python, которая позволяет создавать графические интерфейсы пользователя (GUI). Она является оберткой вокруг популярной библиотеки Tk, написанной на языке Tcl.
#для_продвинутых
Tkinter — это стандартная библиотека Python, которая позволяет создавать графические интерфейсы пользователя (GUI). Она является оберткой вокруг популярной библиотеки Tk, написанной на языке Tcl.
#для_продвинутых
👍21
InterpretML
InterpretML — это пакет с открытым исходным кодом для Python, который объединяет передовые методы интерпретируемого машинного обучения.
InterpretML содержит ряд алгоритмов, которые по своей сути интерпретируемы, например, линейные модели и деревья решений. Данный пакет также предоставляет методы для объяснения уже обученных моделей, даже если они не были изначально спроектированы как интерпретируемые.
#для_начинающих
InterpretML — это пакет с открытым исходным кодом для Python, который объединяет передовые методы интерпретируемого машинного обучения.
InterpretML содержит ряд алгоритмов, которые по своей сути интерпретируемы, например, линейные модели и деревья решений. Данный пакет также предоставляет методы для объяснения уже обученных моделей, даже если они не были изначально спроектированы как интерпретируемые.
#для_начинающих
👍13
Kivy
Kivy – это кроссплатформенный фреймворк для создания графических интерфейсов пользователя (GUI) на Python. Он позволяет создавать приложения, которые будут работать на Windows, macOS, Linux, Android и iOS.
#для_начинающих
Kivy – это кроссплатформенный фреймворк для создания графических интерфейсов пользователя (GUI) на Python. Он позволяет создавать приложения, которые будут работать на Windows, macOS, Linux, Android и iOS.
#для_начинающих
👍21🗿2
PyOgre
PyOgre — это связка Python с OGRE (Object-Oriented Graphics Rendering Engine), мощным 3D-движком, написанным на C++. Она позволяет разработчикам создавать игры, демо-версии и другие 3D-приложения, используя Python.
Python — более простой и понятный язык, чем C++, что делает PyOgre более доступным для начинающих разработчиков. PyOgre позволяет использовать Python для создания сложных 3D-приложений, сохраняя при этом высокую производительность OGRE.
#для_продвинутых
PyOgre — это связка Python с OGRE (Object-Oriented Graphics Rendering Engine), мощным 3D-движком, написанным на C++. Она позволяет разработчикам создавать игры, демо-версии и другие 3D-приложения, используя Python.
Python — более простой и понятный язык, чем C++, что делает PyOgre более доступным для начинающих разработчиков. PyOgre позволяет использовать Python для создания сложных 3D-приложений, сохраняя при этом высокую производительность OGRE.
#для_продвинутых
👍26❤🔥2🤔2🗿1
Sanic
Sanic — это асинхронный веб-фреймворк Python, разработанный для обеспечения скорости и масштабируемости. Он использует синтаксис async/await, добавленный в Python 3.5, что позволяет создавать высокопроизводительные веб-приложения.
#для_продвинутых
Sanic — это асинхронный веб-фреймворк Python, разработанный для обеспечения скорости и масштабируемости. Он использует синтаксис async/await, добавленный в Python 3.5, что позволяет создавать высокопроизводительные веб-приложения.
#для_продвинутых
👍15
Starlette
Starlette — это легкий ASGI фреймворк/инструментарий, который идеально подходит для создания асинхронных веб-сервисов на Python. Он готов к работе в production-среде и предоставляет вам легкий HTTP веб-фреймворк с низкой сложностью, производительность на основе asyncio, готовый набор миддлверов для работы с авторизацией/аутентификацией, CORS, и т.д.
#для_продвинутых
Starlette — это легкий ASGI фреймворк/инструментарий, который идеально подходит для создания асинхронных веб-сервисов на Python. Он готов к работе в production-среде и предоставляет вам легкий HTTP веб-фреймворк с низкой сложностью, производительность на основе asyncio, готовый набор миддлверов для работы с авторизацией/аутентификацией, CORS, и т.д.
#для_продвинутых
👍10
Что выведет этот код?
Anonymous Quiz
11%
NaN
18%
Exception
47%
ZeroDivisionError
14%
SyntaxError
11%
Узнать ответ
👍15🤔6