Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
На это есть несколько причин. Во первых, кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
Возврат нескольких значений
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
👍2
Получаем путь к текущему файлу
При работе с файлами часто нужно знать, где находится сам исполняемый скрипт. Новички могут указывать путь вручную, но Python умеет получать его автоматически с помощью встроенного модуля os.
Функция
При работе с файлами часто нужно знать, где находится сам исполняемый скрипт. Новички могут указывать путь вручную, но Python умеет получать его автоматически с помощью встроенного модуля os.
Функция
os.path.abspath(__file__) возвращает абсолютный путь к текущему файлу, а os.path.dirname() — директорию, в которой он находится.👍2
phonenumbers — это небольшая библиотека, для получения информации о номере телефона.
Что она умеет?
Данная библиотека имеет возможность узнать геолокацию номера телефона (страна, город), абонентом какого оператора он является, пройти проверку на валидацию и другое.
Сверху приведены два примера по валидации данных, но они возвращают разные значения
Почему так происходит?
Причина в том, что метод is_possible_number() быстро угадывает действительность телефонного номера, проверяя длину анализируемого номера, в то время как метод is_valid_number() выполняет полную проверку, проверяя длину, префикс телефонного номера и регион.
При итерации по большому списку телефонных номеров использование phonenumbers.is_possible_number() даст более быстрые результаты по сравнению с phonenumbers.is_valid_number() . Но, как мы видим здесь, эти результаты не всегда правильны. Так что используйте на свой страх и риск.
Ставится командой ⚙️
Что она умеет?
Данная библиотека имеет возможность узнать геолокацию номера телефона (страна, город), абонентом какого оператора он является, пройти проверку на валидацию и другое.
Сверху приведены два примера по валидации данных, но они возвращают разные значения
Почему так происходит?
Причина в том, что метод is_possible_number() быстро угадывает действительность телефонного номера, проверяя длину анализируемого номера, в то время как метод is_valid_number() выполняет полную проверку, проверяя длину, префикс телефонного номера и регион.
При итерации по большому списку телефонных номеров использование phonenumbers.is_possible_number() даст более быстрые результаты по сравнению с phonenumbers.is_valid_number() . Но, как мы видим здесь, эти результаты не всегда правильны. Так что используйте на свой страх и риск.
Ставится командой ⚙️
pip install phonenumbers
Краткая документация(с pypi) и примеры кода здесь.👍3
captcha — простая библиотека, которая генерирует заданную вами капчу!
Что умеет библиотека captcha?
Несомненно, библиотека слишком маленькая, но она всё же она имеет полезные функции, например: генерировать капчу ввиде фотографии(как показано на примере выше) и генерировать аудио капчу (аудиофайл).
Так же можно изменять шрифты на выбранные вами, что может быть полезно если tesseract(или другое приспособление для распознавания текста с фотографии) распознает текст. Если поиграться с различным настройками, может выйти что то годное.
Результат примера здесь.
Библиотека, кстати, досихпор обновляется, поэтому проблем быть не должно :3
Стоит отметить, что не нужно называть файл к примеру
Ставится командой ⚙️
Краткая документация(с pypi) и примеры кода здесь!
Что умеет библиотека captcha?
Несомненно, библиотека слишком маленькая, но она всё же она имеет полезные функции, например: генерировать капчу ввиде фотографии(как показано на примере выше) и генерировать аудио капчу (аудиофайл).
Так же можно изменять шрифты на выбранные вами, что может быть полезно если tesseract(или другое приспособление для распознавания текста с фотографии) распознает текст. Если поиграться с различным настройками, может выйти что то годное.
Результат примера здесь.
Библиотека, кстати, досихпор обновляется, поэтому проблем быть не должно :3
Стоит отметить, что не нужно называть файл к примеру
captcha.py , ведь тогда Python запутается и выдаст ошибку :(Ставится командой ⚙️
pip install captcha Краткая документация(с pypi) и примеры кода здесь!
PrettyTable — довольно полезный модуль для создания простых таблиц и вывода их в терминал или текстовый файл.
Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.
Возможности модуля PrettyTable:
• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.
Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.
Возможности модуля PrettyTable:
• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.
👍3
Работаем с переменными окружения в Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
os.environ.Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
👍3
Невидимые заметки в файле!
Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!
Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!
Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.
Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!
Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!
Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.
❤1🔥1
Как удалить все falsy-значения из списка?
В списке могут быть нежелательные элементы, такие как
Этот приём позволяет удалить falsy-значения за одну строку:
Итог
Очистка списка за одну строку.
Удаляет
Удобно для предобработки данных!
В списке могут быть нежелательные элементы, такие как
None, пустые строки, 0 или False. Новички могут использовать циклы и условия, но Python предлагает элегантное решение — функцию filter().Этот приём позволяет удалить falsy-значения за одну строку:
list(filter(None, list1)) автоматически убирает None, 0, False и пустые строки. Итог
Очистка списка за одну строку.
Удаляет
None, 0, False, пустые строки и списки.Удобно для предобработки данных!
Как заменить все вхождения элемента в списке?
Иногда нужно заменить все вхождения одного элемента на другой. Новички могут использовать циклы, но Python позволяет сделать это проще — с помощью генератора списков.
Этот приём позволяет заменить элемент за одну строку:
Итог:
Работает за одну строку.
Заменяет все вхождения элемента.
Удобно для предобработки данных!
Иногда нужно заменить все вхождения одного элемента на другой. Новички могут использовать циклы, но Python позволяет сделать это проще — с помощью генератора списков.
Этот приём позволяет заменить элемент за одну строку:
[new_value if x == old_value else x for x in list1] проходит по списку и меняет нужные элементы. Итог:
Работает за одну строку.
Заменяет все вхождения элемента.
Удобно для предобработки данных!
SDV - библиотека, разработанная учеными MIT, использующая алгоритмы машинного обучения для генерации различного рода таблиц при помощи анализа реальных данных и создания на их основе синтетических данных в Python.
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
В результате генерирует такую таблицу.
Ставится командой
Документация и примеры кода на Github
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
from sdv.datasets.demo import download_demo
real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests')
В результате генерирует такую таблицу.
Ставится командой
pip install sdvДокументация и примеры кода на Github
MQL — переводит запрос, описанный обычными словами в код на SQL при помощи нейросетей.
То есть пишешь ему, например:
И он вам выдаёт
То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт
SELECT * FROM ... и тд.Colorama — библиотека, позволяющая работать с цветом вывода в консоль.
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
Документация и примеры кода здесь
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
тусклый. Всё это показано на скрине выше.Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
pip install coloramaДокументация и примеры кода здесь
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.
Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.
Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".
Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.
Официальная документация только на английском
Русская документация
Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template
@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.
Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".
Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.
Официальная документация только на английском
Русская документация
❤1
SQLAlchemy — это штука, которая сильно упрощает работу с базами данных в Python. Она позволяет писать код так, будто ты работаешь с обычными объектами, а не с таблицами. Но если нужно, всегда можно написать чистый SQL-запрос.
Например, вот как легко создать таблицу пользователей и добавить туда запись:
Создали таблицу, добавили пользователя и сохранили изменения. SQLAlchemy делает работу с базами данных легче.
Ставится командой ⚙️
Официальная документация и примеры кода здесь
Например, вот как легко создать таблицу пользователей и добавить туда запись:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker
Base = declarative_base()
class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name="Али")
session.add(new_user)
session.commit()
Создали таблицу, добавили пользователя и сохранили изменения. SQLAlchemy делает работу с базами данных легче.
Ставится командой ⚙️
pip install SQLAlchemyОфициальная документация и примеры кода здесь
Веб-приложение для анализа изображений
Делимся кодом, который позволяет реализовать веб-приложение. Этот сервис может загружать изображение, анализировать его с помощью нейросети и возвращать результаты (например, распознавание объектов).
Flask используется для создания простого веб-приложения, которое позволяет пользователю загрузить изображение. Изображение обрабатывается через TensorFlow, используя предобученную модель MobileNetV2 для классификации изображений. После загрузки изображения приложение возвращает топ-3 предсказания модели, с вероятностями для каждого из классов. Для запуска нужно создать шаблон HTML (например, index.html) для загрузки изображения.
Сссылка на код
Делимся кодом, который позволяет реализовать веб-приложение. Этот сервис может загружать изображение, анализировать его с помощью нейросети и возвращать результаты (например, распознавание объектов).
Flask используется для создания простого веб-приложения, которое позволяет пользователю загрузить изображение. Изображение обрабатывается через TensorFlow, используя предобученную модель MobileNetV2 для классификации изображений. После загрузки изображения приложение возвращает топ-3 предсказания модели, с вероятностями для каждого из классов. Для запуска нужно создать шаблон HTML (например, index.html) для загрузки изображения.
Сссылка на код
Использование метода @classmethod для создания объектов альтернативным способом
Если вам нужно создать объект класса с использованием альтернативных данных или форматов, вы можете использовать метод @classmethod, чтобы добавить дополнительные конструкторы. Это позволяет создать объект не только с использованием стандартного init, но и другими способами.
Этот лайфхак будет полезен тем, кто работает с объектно-ориентированным программированием и хочет создать более гибкие и расширяемые конструкторы классов.
Если вам нужно создать объект класса с использованием альтернативных данных или форматов, вы можете использовать метод @classmethod, чтобы добавить дополнительные конструкторы. Это позволяет создать объект не только с использованием стандартного init, но и другими способами.
Этот лайфхак будет полезен тем, кто работает с объектно-ориентированным программированием и хочет создать более гибкие и расширяемые конструкторы классов.