🚀 Открой для себя идеальный путь к лидерству с карьерным тестом от ОЭЗ «Алабуга»! 🌟
Мечтаете о карьере в крупной компании, где ваш потенциал раскроется на полную? Наш тест поможет вам определить вашу уникальную лидерскую роль. Может быть, именно вы станете тем лидером, который выведет команду на новый уровень?
После прохождения теста вы можете заполнить заявку и получить приглашение на эксклюзивную лидерскую программу. Участие в программе открывает реальные перспективы трудоустройства в ОЭЗ «Алабуга», предоставляя шанс начать путь к профессиональному признанию.
Сделайте первый шаг к своему будущему сегодня! Пройдите тест, подайте заявку и начните строить свою карьеру вместе с нами. 🎯
Мечтаете о карьере в крупной компании, где ваш потенциал раскроется на полную? Наш тест поможет вам определить вашу уникальную лидерскую роль. Может быть, именно вы станете тем лидером, который выведет команду на новый уровень?
После прохождения теста вы можете заполнить заявку и получить приглашение на эксклюзивную лидерскую программу. Участие в программе открывает реальные перспективы трудоустройства в ОЭЗ «Алабуга», предоставляя шанс начать путь к профессиональному признанию.
Сделайте первый шаг к своему будущему сегодня! Пройдите тест, подайте заявку и начните строить свою карьеру вместе с нами. 🎯
👍2⚡1🔥1
Как найти абсолютное значение в Python
В Python для чисел, массивов и собственных объектов используется встроенная функция
* Как реализовать абсолютную функцию вручную.
* Как работает
* Как расширить
1. Самостоятельная реализация
Или через
Через корень:
Но проще и эффективнее пользоваться
2. Встроенная функция
🔸Для целых и вещественных чисел сохраняет тип:
🔸Для комплексных чисел возвращает модуль:
🔸Для
3. Применение к коллекциям
Если у вас список чисел, используйте списковое включение или
4. NumPy и pandas
🔸NumPy:
🔸pandas:
5. Собственные классы
Чтобы
Вывод:
🔸Для чисел
🔸Для списков применяйте
🔸NumPy и pandas позволяют вызывать
🔸Для собственных типов реализуйте
https://realpython.com/python-absolute-value/
#python
👉 @python_real
В Python для чисел, массивов и собственных объектов используется встроенная функция
abs()
. В этом кратком руководстве вы узнаете:* Как реализовать абсолютную функцию вручную.
* Как работает
abs()
с разными типами данных.* Как расширить
abs()
для NumPy, pandas и своих классов.1. Самостоятельная реализация
def absolute_value(x):
return x if x >= 0 else -x
Или через
max
:
def absolute_value(x):
return max(x, -x)
Через корень:
def absolute_value(x):
return (x**2) ** 0.5 # возвращает float
Но проще и эффективнее пользоваться
abs()
.2. Встроенная функция
abs()
🔸Для целых и вещественных чисел сохраняет тип:
abs(-5) # 5
abs(-5.2) # 5.2
🔸Для комплексных чисел возвращает модуль:
z = 3 + 4j
abs(z) # 5.0
🔸Для
Fraction
и Decimal
тоже работает «из коробки»:
from fractions import Fraction
abs(Fraction(-3, 4)) # Fraction(3, 4)
from decimal import Decimal
abs(Decimal("-0.75")) # Decimal('0.75')
3. Применение к коллекциям
Если у вас список чисел, используйте списковое включение или
map
:
temps = [1, -5, 3, -2]
[abs(x) for x in temps] # [1, 5, 3, 2]
list(map(abs, temps)) # [1, 5, 3, 2]
4. NumPy и pandas
🔸NumPy:
import numpy as np
arr = np.array([-1, -4, 0, 7])
abs(arr) # array([1, 4, 0, 7])
🔸pandas:
import pandas as pd
data = pd.Series([-2, 5, -3])
abs(data) # Series([2, 5, 3])
5. Собственные классы
Чтобы
abs()
работал для объектов вашего класса, определите метод .__abs__()
:
import math
class Vector:
def __init__(self, *coords):
self.coords = coords
def __abs__(self):
return math.hypot(*self.coords)
v = Vector(3, 4)
abs(v) # 5.0
Вывод:
🔸Для чисел
abs()
– оптимальный выбор.🔸Для списков применяйте
map
или генератор списка.🔸NumPy и pandas позволяют вызывать
abs()
прямо на массивах и DataFrame.🔸Для собственных типов реализуйте
.__abs__()
.https://realpython.com/python-absolute-value/
#python
👉 @python_real
❤3👍3
Определение собственной функции в Python
Функции — это фундаментальный строительный блок в Python. Они позволяют организовать код, переиспользовать его и сделать программу более читаемой. Создание собственной функции — это важный шаг на пути к более эффективной разработке.
Основы:
Функции в Python определяются с помощью ключевого слова
Теперь ты можешь вызвать функцию:
Аргументы и параметры
Ты можешь передавать данные в функцию через параметры:
Вызов:
Возврат значения
С помощью ключевого слова
Аргументы по умолчанию
Функции могут иметь параметры с значениями по умолчанию:
Именованные аргументы
Можно передавать аргументы явно по имени:
Возвращение нескольких значений
Функции могут возвращать несколько значений с помощью кортежей:
https://realpython.com/defining-your-own-python-function/
#python
👉 @python_real
Функции — это фундаментальный строительный блок в Python. Они позволяют организовать код, переиспользовать его и сделать программу более читаемой. Создание собственной функции — это важный шаг на пути к более эффективной разработке.
Основы:
def
и имя функцииФункции в Python определяются с помощью ключевого слова
def
, за которым следует имя функции, круглые скобки (в которых можно указать параметры), и двоеточие:
def greet():
print("Привет!")
Теперь ты можешь вызвать функцию:
greet()
Аргументы и параметры
Ты можешь передавать данные в функцию через параметры:
def greet(name):
print(f"Привет, {name}!")
Вызов:
greet("Oleg")
Возврат значения
С помощью ключевого слова
return
можно вернуть результат из функции:
def add(a, b):
return a + b
result = add(3, 4)
print(result) # 7
Аргументы по умолчанию
Функции могут иметь параметры с значениями по умолчанию:
def greet(name="друг"):
print(f"Привет, {name}!")
greet() # Привет, друг!
greet("Oleg") # Привет, Oleg!
Именованные аргументы
Можно передавать аргументы явно по имени:
def describe_pet(animal, name):
print(f"У меня есть {animal}, его зовут {name}.")
describe_pet(animal="кот", name="Барсик")
Возвращение нескольких значений
Функции могут возвращать несколько значений с помощью кортежей:
def get_point():
return (3, 4)
x, y = get_point()
https://realpython.com/defining-your-own-python-function/
#python
👉 @python_real
👍3
17 июня(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxMSzZ4
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Python 3.14. T-строки в Python: новый способ работы со строками?
Python предлагает множество способов создания строк — от обычных строк до f-строк и raw-строк. Но начиная с Python 3.12, появляется новый способ: t-строки. Это экспериментальный синтаксис, предлагаемый для улучшения интернационализации (i18n) строк.
В этом посте мы кратко рассмотрим:
🔘 Что такое t-строки?
🔘 Зачем они нужны?
🔘 Как их использовать?
Что такое t-строки?
Такой синтаксис эквивалентен:
Зачем это нужно?
В больших проектах часто нужно поддерживать несколько языков. В Python это обычно делается через
Но такой подход:
- неявный,
- подвержен ошибкам (особенно при интерполяции),
- не всегда дружелюбен к линтерам и инструментам сборки переводов.
Как это работает?
Полный пример:
Это даст тот же результат, что и с
Совместимость и текущее состояние
Пока t-строки находятся в стадии эксперимента. Они могут измениться или быть удалены в будущих релизах. Если вы работаете с интернационализацией и переводами — следите за этой фичей. Она может значительно упростить жизнь в будущем.
https://realpython.com/python-t-strings/
#python
👉 @python_real
Python предлагает множество способов создания строк — от обычных строк до f-строк и raw-строк. Но начиная с Python 3.12, появляется новый способ: t-строки. Это экспериментальный синтаксис, предлагаемый для улучшения интернационализации (i18n) строк.
В этом посте мы кратко рассмотрим:
Что такое t-строки?
t"..."
— это новый синтаксис строк, похожий на f-строки, но предназначенный для упрощения перевода строк. Они позволяют использовать интерполяцию переменных и одновременно автоматически отмечать строку как подлежащую переводу.
name = "Алиса"
print(t"Привет, {name}!")
Такой синтаксис эквивалентен:
from gettext import gettext as _
name = "Алиса"
print(_("Привет, {name}!").format(name=name))
Зачем это нужно?
В больших проектах часто нужно поддерживать несколько языков. В Python это обычно делается через
gettext
, где строки передаются в функцию _()
и затем интерполируются вручную:
print(_("Привет, {name}!").format(name=name))
Но такой подход:
- неявный,
- подвержен ошибкам (особенно при интерполяции),
- не всегда дружелюбен к линтерам и инструментам сборки переводов.
t
-строки делают этот процесс более чистым и читаемым.Как это работает?
t
-строки являются экспериментальной функцией в Python 3.12, и для их использования нужно включить feature flag:
from __future__ import tstrings
Полный пример:
from __future__ import tstrings
name = "Алиса"
print(t"Привет, {name}!")
Это даст тот же результат, что и с
gettext
, но с более читаемым и лаконичным синтаксисом.Совместимость и текущее состояние
Пока t-строки находятся в стадии эксперимента. Они могут измениться или быть удалены в будущих релизах. Если вы работаете с интернационализацией и переводами — следите за этой фичей. Она может значительно упростить жизнь в будущем.
https://realpython.com/python-t-strings/
#python
👉 @python_real
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Async IO в Python: что это и как с этим работать
Асинхронное программирование в Python — это подход, позволяющий выполнять несколько операций одновременно, не блокируя основной поток выполнения. Это особенно полезно для задач ввода-вывода (I/O), таких как сетевые запросы, работа с файлами и базы данных.
Ключевые понятия
* Сопрограммы (coroutines) — функции, которые можно приостанавливать и возобновлять.
* Событийный цикл (event loop) — механизм, управляющий выполнением асинхронных задач.
* await — оператор, который приостанавливает выполнение до завершения асинхронной операции.
Пример кода:
Когда использовать async?
* Когда приложение работает с большим количеством сетевых запросов.
* Для параллельного выполнения долгих операций ввода-вывода.
* Когда требуется высокая отзывчивость программы.
Когда не стоит использовать?
* Для вычислительно тяжелых задач (лучше использовать multiprocessing).
Асинхронность в Python строится вокруг
https://realpython.com/async-io-python/
#python
👉 @python_real
Асинхронное программирование в Python — это подход, позволяющий выполнять несколько операций одновременно, не блокируя основной поток выполнения. Это особенно полезно для задач ввода-вывода (I/O), таких как сетевые запросы, работа с файлами и базы данных.
Ключевые понятия
* Сопрограммы (coroutines) — функции, которые можно приостанавливать и возобновлять.
* Событийный цикл (event loop) — механизм, управляющий выполнением асинхронных задач.
* await — оператор, который приостанавливает выполнение до завершения асинхронной операции.
Пример кода:
import asyncio
async def main():
print("Начало")
await asyncio.sleep(1)
print("Конец")
asyncio.run(main())
Когда использовать async?
* Когда приложение работает с большим количеством сетевых запросов.
* Для параллельного выполнения долгих операций ввода-вывода.
* Когда требуется высокая отзывчивость программы.
Когда не стоит использовать?
* Для вычислительно тяжелых задач (лучше использовать multiprocessing).
Асинхронность в Python строится вокруг
asyncio
, но есть и дополнительные библиотеки (например, aiohttp
для асинхронных HTTP-запросов).https://realpython.com/async-io-python/
#python
👉 @python_real
👍4❤1
Python Mixins: мощный инструмент для повторного использования кода
В Python Mixin — это особый вид класса, который используется для расширения функционала других классов без необходимости создавать сложные иерархии наследования. Mixin-классы сами по себе, как правило, не предназначены для самостоятельного использования — они лишь добавляют дополнительное поведение.
Основная идея Mixin
Mixin — это способ «влить» функциональность в класс, комбинируя его с другими классами через множественное наследование.
Например, если у нас есть класс
Принципы проектирования Mixin-классов
1. Изолированная функциональность — Mixin должен решать только одну конкретную задачу.
2. Не самостоятельный — Mixin не предназначен для создания экземпляров напрямую.
3. Малые зависимости — Mixin не должен жёстко зависеть от конкретной реализации других классов.
4. Имя — принято добавлять суффикс
Зачем использовать Mixin
- Повторное использование кода без дублирования.
- Упрощение кода и снижение связности.
- Гибкость при расширении функционала.
Пример: добавление сериализации в JSON
Когда Mixin лучше не использовать
- Когда поведение может быть реализовано через композицию.
- Если множественное наследование приведёт к сложной и запутанной иерархии.
- Когда Mixin начинает выполнять слишком много функций.
Mixin — это мощный и элегантный способ добавлять функционал в классы Python, сохраняя код чистым и гибким. Но использовать их стоит осторожно, чтобы избежать проблем с читаемостью и сложным наследованием.
https://realpython.com/python-mixin/
#python
👉 @python_real
В Python Mixin — это особый вид класса, который используется для расширения функционала других классов без необходимости создавать сложные иерархии наследования. Mixin-классы сами по себе, как правило, не предназначены для самостоятельного использования — они лишь добавляют дополнительное поведение.
Основная идея Mixin
Mixin — это способ «влить» функциональность в класс, комбинируя его с другими классами через множественное наследование.
Например, если у нас есть класс
LoggerMixin
, он может добавлять возможность логирования в любой класс, который его наследует.
class LoggerMixin:
def log(self, message):
print(f"[LOG]: {message}")
class User(LoggerMixin):
def __init__(self, name):
self.name = name
user = User("Alice")
user.log("Пользователь создан") # [LOG]: Пользователь создан
Принципы проектирования Mixin-классов
1. Изолированная функциональность — Mixin должен решать только одну конкретную задачу.
2. Не самостоятельный — Mixin не предназначен для создания экземпляров напрямую.
3. Малые зависимости — Mixin не должен жёстко зависеть от конкретной реализации других классов.
4. Имя — принято добавлять суффикс
Mixin
в название.Зачем использовать Mixin
- Повторное использование кода без дублирования.
- Упрощение кода и снижение связности.
- Гибкость при расширении функционала.
Пример: добавление сериализации в JSON
import json
class ToJSONMixin:
def to_json(self):
return json.dumps(self.__dict__)
class Point(ToJSONMixin):
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(4, 5)
print(p.to_json()) # {"x": 4, "y": 5}
Когда Mixin лучше не использовать
- Когда поведение может быть реализовано через композицию.
- Если множественное наследование приведёт к сложной и запутанной иерархии.
- Когда Mixin начинает выполнять слишком много функций.
Mixin — это мощный и элегантный способ добавлять функционал в классы Python, сохраняя код чистым и гибким. Но использовать их стоит осторожно, чтобы избежать проблем с читаемостью и сложным наследованием.
https://realpython.com/python-mixin/
#python
👉 @python_real
❤3👍2
14 августа (уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
📂 Как получить список всех файлов в директории на Python
Статья о том, как с помощью Python получать список файлов в директориях. Рассмотрены различные способы, включая использование модулей
Особое внимание уделено:
- Фильтрации файлов по расширению.
- Рекурсивному поиску в подпапках.
- Преимуществам каждого подхода.
https://realpython.com/get-all-files-in-directory-python/
#python
👉 @python_real
Статья о том, как с помощью Python получать список файлов в директориях. Рассмотрены различные способы, включая использование модулей
os
, os.path
, glob
и более современного pathlib
. Особое внимание уделено:
- Фильтрации файлов по расширению.
- Рекурсивному поиску в подпапках.
- Преимуществам каждого подхода.
https://realpython.com/get-all-files-in-directory-python/
#python
👉 @python_real
👍3
Getters и Setters в Python — это мощный инструмент для управления доступом к атрибутам объекта.
В статье детально рассматривается, как их использовать для инкапсуляции данных и контроля за изменениями свойств объекта.
Основные моменты:
- Объяснение, почему в Python прямой доступ к атрибутам предпочтительнее, но геттеры и сеттеры остаются важными.
- Использование декоратора
- Примеры, как эти механизмы помогают улучшить читаемость и безопасность кода.
https://realpython.com/python-getter-setter/
#python
👉 @python_real
В статье детально рассматривается, как их использовать для инкапсуляции данных и контроля за изменениями свойств объекта.
Основные моменты:
- Объяснение, почему в Python прямой доступ к атрибутам предпочтительнее, но геттеры и сеттеры остаются важными.
- Использование декоратора
@property
для создания свойства с геттером и сеттером. - Примеры, как эти механизмы помогают улучшить читаемость и безопасность кода.
https://realpython.com/python-getter-setter/
#python
👉 @python_real
👍3
28 августа(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Как использовать
Рассматриваются основные аспекты работы с этим файлом, его структура и как он помогает в управлении зависимостями, настройке инструментов и организации проектов.
Краткий обзор:
-
- Позволяет определять сборщики (build backends), такие как
- Упрощает настройку инструментов вроде
- Дает возможность управлять зависимостями и версиями пакетов.
Использование
https://realpython.com/python-pyproject-toml/
#python
👉 @python_real
pyproject.toml
в PythonРассматриваются основные аспекты работы с этим файлом, его структура и как он помогает в управлении зависимостями, настройке инструментов и организации проектов.
Краткий обзор:
-
pyproject.toml
появился в PEP 518 и стал стандартом для описания конфигурации Python-проектов.- Позволяет определять сборщики (build backends), такие как
setuptools
или poetry
.- Упрощает настройку инструментов вроде
black
, mypy
и pytest
.- Дает возможность управлять зависимостями и версиями пакетов.
Использование
pyproject.toml
делает проекты более структурированными и гибкими, особенно при работе с различными инструментами и системами сборки.https://realpython.com/python-pyproject-toml/
#python
👉 @python_real
👍2