#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
3 способа реализовать параллелизм в ваших программах на Python.

https://proglib.io/w/1ca053af
Forwarded from Тесты по Python
Короткий тест по Python. "Основы языка".

20 легких вопросов, которые покажут готовы ли вы к курсам или нет.

Уровень: новичок
Кол-во вопросов: 20
Формат: тест.
Функции, поддерживающие только именованные аргументы (kwargs)
#Python
Для того чтобы при использовании некоей функции сделать так, чтобы ей можно было бы передавать только именованные аргументы, можно поступить следующим образом:

def test(*, a, b):
 pass

test("value for a", "value for b") # TypeError: test() takes 0 positional arguments...
test(a="value", b="value 2") # А так - работает...

Это может быть полезно для того, чтобы улучшить понятность кода. Как видите, наша задача легко решается при помощи использования аргумента * перед списком именованных аргументов. Здесь, что вполне очевидно, можно использовать и позиционные аргументы — в том случае, если поместить их до аргумента *.
Forwarded from GeekBrains
Python становится востребованнее с каждым днём, а в 2019 году он занял первое место в рейтинге популярности, обогнав даже Java. Мы не удивлены — тут и низкий порог вхождения, и возможность начать кодить с первого дня обучения!

Специально для тех, кому перспективы Python уже очевидны, мои собрали небольшую библиотеку из 7 полезных книг, которые сделают изучение этого языка проще и увлекательнее! 😉

#geekbrains_программирование #geekbrains_полезное
Expert Python Programming (2020)
Автор: Michal Jaworski, Tarek Ziade
Количество страниц: 646

Несмотря на легкость использования Python, содержать код читабельным, многократно используемым и легко поддерживаемым — довольно сложная задача даже для опытного программиста. Третье издание Expert Python Programming, дополненное передовыми практиками, полезными инструментами и стандартами, используемыми профессиональными разработчиками, поможет вам улучшить качество вашей работы.

Скачать книгу
Создание объектов, поддерживающих выражение with
#Python

Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов enter и exit:

class Connection:
 def __init__(self):
 ...

 def __enter__(self):
 # Инициализируем соединение...

 def __exit__(self, type, value, traceback):
 # Закрываем соединение...

with Connection() as c:
 # __enter__() executes
 ...
 # conn.__exit__() executes

Это — наиболее распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще:

from contextlib import contextmanager

@contextmanager
def tag(name):
 print(f"<{name}>")
 yield
 print(f"</{name}>")

with tag("h1"):
 print("This is Title.")

Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
Как выстрелить себе в ногу с помощью Python, часть 1

https://proglib.io/w/017fc11b
Для чего нужны списки в Python?
#Python
Списки в Python — одна из 4 структур данных, предназначенных для работы с итерируемыми объектами. Представим, что нам нужно написать скрипт, который проверяет, является ли модель машины производства компании Tesla. Код будет выглядеть следующим образом:
# Объявим переменную, содержащую список всех моделей машин tesla_models = ['Model S', 'Model 3', 'Model X', 'Model Y'] # Название машины - это строка. Строки объявляются в двойных (") или одинарных (') кавычках # Проверем, производит ли Tesla модель AMG GT 4 door. содержащую список всех моделей машин print('AMG GT 4 door' in tesla_models) # Выведет False (Ложь). Эту модель производит Mercedes-Benz # А Model 3 – флагманская модель Tesla print('Model 3' in tesla_models) # Выведет True (Истина) # Значения регистрозависимы — Model Y не одно и то же, что и model y print('model y' in tesla_models) # Выведет False