Pythonist.ru - образование по питону
25.2K subscribers
273 photos
5 videos
5 files
1.13K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://rknn.link/car
Download Telegram
Тест. Boolean (уровень — средний)

В Python, как и в других языках, есть логический тип данных (англ. Boolean или logical data type). Он принимает всего два значения: True (истина) и False (ложь).

Хорошо ли вы умеете пользоваться логическим типом данных? Пройдите тест из 10 вопросов и проверьте!

#тест
5
📊 Основы. Приоритет операторов Python

Некоторые темы в программировании скучны, и приоритет операторов Python — одна из них. Давайте это исправим!

#основы

✔️Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👎1
Задача с кодом. Слияние списков

Напишите функцию, которая будет проверять, можно ли из чисел во вложенном списке составить целевой список.

Функция принимает список списков и целевой список и возвращает True или False.

Порядок чисел в списках не имеет значения (см. пример 2).

Из всех чисел во вложенном списке должен получиться набор чисел из целевого списка в точности. Не может быть ни лишних чисел (включая повторы), ни недостающих (см. примеры 3 и 4).

Примеры:

canConcatenate([[1, 2, 3, 4], [5, 6], [7]], [1, 2, 3, 4, 5, 6, 7]) 
➞ True
canConcatenate([[2, 1, 3], [5, 4, 7, 6]], [7, 6, 5, 4, 3, 2, 1])
➞ True

canConcatenate([[2, 1, 3], [5, 4, 7, 6, 7]], [1, 2, 3, 4, 5, 6, 7])
➞ False
# В целевом списке только одна 7, а во вложенном их две.

canConcatenate([[2, 1, 3], [5, 4, 7]], [1, 2, 3, 4, 5, 6, 7])
➞ False
# Во вложенном списке нет 6.

Решение на нашем сайте.

#задача #coding
👍21
Tips & Tricks. Именованные кортежи как альтернатива классам в Python

Рассказываем, как можно использовать именованные кортежи, если нет желания создавать новый класс.

Читать статью

#tipsandtricks
👏5
Задача на логику. Сколько живет один волос на голове?

В среднем у человека на голове бывает 150000 волос. Они постоянно обновляются, в среднем за месяц выпадает около 3000.

Как по этим данным определить, сколько примерно времени (опять же, в среднем) держится на голове один волос?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
🔥6👍2
Топ. Docstrings: документирование кода в Python

В этой статье:
- комментарии vs строки документации
- атрибут doc
- однострочные и многострочные строки документации

#топ

Читать статью
4👍2
⚡️ Что такое пространства имён в Python?

Пространство имён в Python гарантирует, что имена объектов в программе остаются уникальными и могут использоваться без конфликтов.

Рассмотрим основные типы пространств имён:

👉 Локальное пространство имён содержит имена, определённые внутри функции. Оно создаётся временно при вызове функции и удаляется после её завершения.

👉 Глобальное пространство имён включает имена из импортированных модулей и пакетов, используемых в проекте. Оно формируется при импорте модуля и существует до завершения работы скрипта.

👉 Встроенное пространство имён содержит встроенные функции Python и зарезервированные имена для различных типов исключений.

Пример:
x = 10  # Глобальное

def foo():
x = 5 # Локальное
print(x) # Выведет 5 (локальное)

foo()
print(x) # Выведет 10 (глобальное)


⚡️ В Python пространства имён реализованы как словари, где «имя» выступает ключом, а «объект» — соответствующим значением.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👌1
А чё всмысле 🚬
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍4👌2
💥 Вакансии по Python за прошлую неделю:

Python developer. Uptrade, 70-150 т.р.

Python разработчик middle. dodigital.ru, $1200-1500

Middle/Senior Backend Developer (Python). Match Systems, от $2500

Python разработчик. Luna Capital, 260-280 т.р.

Python developer (Middle/Senior). ScanFactory, 250-450 т.р.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🌀 Как работает yield в Python?

Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.

Пример:
def squares():
for i in range(3):
yield i * i

for x in squares():
print(x)


Вывод:
0
1
4

Подробнее тут.

Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.

Зачем это нужно?
🟠Работать с большими объёмами данных
🟠Писать "ленивый" код, который экономит память
🟠Делать асинхронные пайплайны и обработчики

Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь 😢
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161
Задача с кодом. Сколько чисел?

Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.

Вложенный список может содержать числа, строки и пустые списки.

Примеры:

count_number([["", 17.2, 5, "edabit"]]) ➞ 2
# 17.2 и 5.

count_number([[[[[2, 14]]], 2, 3, 4]]) ➞ 5
# 2, 14, 2, 3 и 4.

count_number([["number"]]) ➞ 0

Решение на нашем сайте.

#задача #coding
3
Tips & Tricks. Чтение YAML-файлов в Python

Рассказываем, как читать файлы YAML в Python, а точнее — как это делается при помощи модуля PyYAML.

Читать статью

#модули #tipsandtricks
👍3
Весь мир: *продвигает повестку (феминизм и тд)*

Тем временем функция в моем боте:
🤣19👍10💩52👎2👏2🥱1😡1