🤯7👍2🤨1
В Python кортежи сравниваются лексикографически (поэлементно, слева направо).
Сначала сравниваются первые элементы: 100 > 1 → True.
Если первые элементы равны, сравниваются вторые элементы. Но в данном случае первое сравнение уже даёт результат
Ответ: A
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4👍1
Он позволяет быстро создавать интерфейсы при помощи Python, без необходимости изучать сложные GUI библиотеки, такие как Tkinter, Qt или wxPython.
PySimpleGUI широко используется для создания небольших утилит и инструментов с GUI, например:— Простые GUI для скриптов автоматизации.
— Инструменты для обработки и визуализации данных.
— Маленькие вспомогательные приложения для повседневных задач.
- Простой и интуитивно понятный синтаксис.
- Кроссплатформенность: работает на Windows, MacOS, Linux.
- Встроенная поддержка многих виджетов и тем оформления.
- Автоматическое размещение элементов GUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1👻1
- Определение схемы. Например, схема, которая проверяет, что столбец 1 должен быть целым числом, большим 0, а столбец 2 — строкой с более чем 5 символами.
- Проверка данных с помощью схемы. Например, если создать фрейм данных с отрицательным значением в столбце 1, проверка завершится ошибкой, так как это не соответствует требованиям схемы.
- Проверка нескольких фреймов данных. Pandera позволяет определять схемы с проверками по нескольким столбцам. Например, схема, которая проверяет, что сумма столбцов 1 и 2 больше 0.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
перехват и эмуляция любых клавиатурных событий на низком уровне.
- Поддержка глобальных хоткеев (работают даже когда окно не в фокусе)
- Простая эмуляция нажатий клавиш
- Кроссплатформенность (Windows/Linu).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥1
- Локальное пространство имён содержит имена, определённые внутри функции. Оно создаётся временно при вызове функции и удаляется после её завершения.
- Глобальное пространство имён включает имена из импортированных модулей и пакетов, используемых в проекте. Оно формируется при импорте модуля и существует до завершения работы скрипта.
- Встроенное пространство имён содержит встроенные функции Python и зарезервированные имена для различных типов исключений.
x = 10 # Глобальное
def foo():
x = 5 # Локальное
print(x) # Выведет 5 (локальное)
foo()
print(x) # Выведет 10 (глобальное)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
Для этого есть suppress() из модуля contextlib.
from contextlib import suppress
data = {"a": 1}
with suppress(KeyError):
print(data["b"]) # Ошибка будет проигнорирована
print("Код продолжает работать")
Код продолжает работать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
Полезно для валидации данных и написания универсальных функций.
x = 3.14
if isinstance(x, (int, float)):
print("Это число")
Это число
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤2
Что выдаст код выше❔
Anonymous Quiz
1%
[3, 2, 1, "a"]
52%
[1, 2, 3, "a"]
18%
["a", 1, 2, 3]
29%
TypeError
🤔4👌2👍1
Простейший пример когда код завершается с ошибкой, так как невозможно сравнить строку с числом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2😁2
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
print(a & b) # пересечение → frozenset({3})
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
— логирование и сбор метрик
— прокси для сетевых запросов
— сервис Mesh (например, Istio Envoy)
— мониторинг и безопасность
— основной сервис остаётся «чистым» и сосредоточенным только на бизнес-логике
— независимое обновление и масштабирование sidecar
— одинаковый подход к инфраструктуре (единые логеры, агенты метрик и т.д.)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Можно использовать для динамического доступа к переменным по имени.
x = 42
name = "Python"
print(globals()["x"]) # 42
print(globals()["name"]) # Python
Полезно для отладки, метапрограммирования и работы с динамическими именами, но в обычном коде лучше использовать напрямую
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
import jmespath
jmespath.search('foo.bar', {'foo': {'bar': 'baz'}})
# output: 'baz'
jmespath.search('foo.*.name', {'foo': {'bar': {'name': 'one'}, 'baz':
{'name': 'two'}}})
# output: ['one', 'two']
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
print(2**1000)
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
Это очень удобно для таких областей, как криптография или научные вычисления, где часто требуется работа с очень большими числами.
Однако важно помнить, что хотя Python может обрабатывать такие большие числа, это может повлиять на производительность при выполнении операций с ними. Поэтому, если вам не нужна такая высокая точность, лучше использовать стандартные типы данных.
В целом, эта особенность Python делает его очень мощным инструментом для работы с целыми числами любого размера.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥2
*
-h или --help: Выводит справку по доступным флагам.*
-V или --version: Выводит номер версии Python.*
-m <module>: Запускает модуль как скрипт (например, python -m venv venv).*
-c <command>: Выполняет указанную команду Python (например, python -c "print('Hello, World!')").*
-i: Включает интерактивный режим REPL после выполнения скрипта.*
-O: Включает оптимизацию байт-кода (удаляет операторы assert и любой код, зависящий от значения __debug__).*
-OO: Более агрессивная оптимизация, удаляющая docstrings.*
-B: Отключает создание файлов .pyc (с компилированным байт-кодом).*
-W: Контролировать частоту вывода предупреждений.Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥1👌1
1.
string.ascii_letters: Содержит все буквы английского алфавита (как заглавные, так и строчные).2.
string.digits: Включает все десятичные цифры от 0 до 9.3.
string.hexdigits: Содержит шестнадцатеричные цифры (0-9 и a-f, A-F).4.
string.octdigits: Включает восьмеричные цифры (0-7).5.
string.punctuation: Содержит все знаки пунктуации.6.
string.whitespace: Включает все пробельные символы (пробелы, табуляции и переносы строк).import string
# Функция проверяет, состоит ли строка только из букв
def is_alpha(s):
return all(char in string.ascii_letters for char in s)
# Тестируем функцию
print(is_alpha("HelloWorld")) # Вывод: True
print(is_alpha("Hello World!")) # Вывод: False
Константы из модуля string значительно упрощают обработку строк и могут быть использованы в различных алгоритмах, таких как валидация ввода, фильтрация символов и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
import pendulum
# Создание даты
date = pendulum.datetime(2023, 10, 5)
# Форматирование даты
formatted_date = date.format('YYYY-MM-DD')
print(formatted_date) # Вывод: 2023-10-05
Pendulum значительно упрощает работу с временными зонами. Пример создания даты в одной временной зоне и её преобразования в другую:
# Создание даты в временной зоне 'Europe/Moscow'
moscow_time = pendulum.datetime(2023, 10, 5, tz='Europe/Moscow')
print(moscow_time) # Вывод: 2023-10-05T00:00:00+03:00
# Преобразование в другую временную зону
ny_time = moscow_time.in_timezone('America/New_York')
print(ny_time) # Вывод: 2023-10-04T17:00:00-04:00
Pendulum предоставляет широкий набор методов для выполнения различных операций с датами. Пример добавления и вычитания временных интервалов:
# Создание даты
date = pendulum.datetime(2023, 10, 5)
# Добавление 5 дней
new_date = date.add(days=5)
print(new_date) # Вывод: 2023-10-10T00:00:00+00:00
# Вычитание 2 часов
new_date = date.subtract(hours=2)
print(new_date) # Вывод: 2023-10-04T22:00:00+00:00
add и subtract вы можете легко выполнять арифметические операции с датами, что делает работу с временными интервалами очень удобной. Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3