Lambda-функции совместно с map()
Lambda-функции — это функции, которые являются анонимными и им не нужно указывать какое-то собственное имя, как это происходит с пользовательскими функциями. Эти функции часто передаются в качестве параметров другим функциям.
Теперь давайте попробуем применить lambda-функции совместно с функцией map().
Lambda-функции — это функции, которые являются анонимными и им не нужно указывать какое-то собственное имя, как это происходит с пользовательскими функциями. Эти функции часто передаются в качестве параметров другим функциям.
Теперь давайте попробуем применить lambda-функции совместно с функцией map().
👍4
yfinance - библиотека, которая получает всю рыночную информацию о любой компании по её биржевому тикеру 📊
Под капотом эта либа использует Yahoo Finance API. Для получения данных о компании, вам нужно знать лишь её тикер (своеобразный уникальный ID каждой компании на биржах).
Вы сможете узнать такие вещи как: ежегодный доход организации, цена за одну акцию, количество сотрудников, общее кол-во выплаченных дивидендов и много-много чего ещё.
На скриншоте выше показан небольшой пример использования yfinance 👆🏻
Исходный код - https://pastebin.com/EmHLNNky
Под капотом эта либа использует Yahoo Finance API. Для получения данных о компании, вам нужно знать лишь её тикер (своеобразный уникальный ID каждой компании на биржах).
Вы сможете узнать такие вещи как: ежегодный доход организации, цена за одну акцию, количество сотрудников, общее кол-во выплаченных дивидендов и много-много чего ещё.
На скриншоте выше показан небольшой пример использования yfinance 👆🏻
Исходный код - https://pastebin.com/EmHLNNky
👍11
Учим python за 7 часов! Уроки Python Полный курс обучения программированию на python с нуля
00:00 Вступление в курс уроков по python
00:45 Установка python, первая программа
10:47 Переменные
20:56 Типы данных в python
30:02 Условные операторы if, elif, else
39:03 Условные операторы 2
45:53 Условные операторы Практика
56:44 Цикл while
1:12:37 Цикл for
1:21:23 Цикл for, цикл в цикле
1:29:34 Списки, тип данных list
1:41:29 Списки, методы типа данных list
1:53:21 Кортежи, тип данных tuple
2:08:42 Практика python, модуль os, функция walk
2:21:16 Функции def, определение и вызов
2:30:07 Функции def, параметры и аргументы
2:43:49 Функции переменное количество аргументов, параметр *args
2:56:28 Функции, область видимости переменных
3:08:49 Функции и структура кода
3:22:07 Словари, тип данных dict
3:37:22 Словари, методы dict
3:49:21 Чтение и запись файлов
4:05:29 Множества, тип данных set
4:22:30 Строки, экранированные символы
4:30:17 Строки, методы str
4:43:13 f-строка, форматирование строк
4:50:10 Обработка исключений, try, except
5:09:59 Менеджер контекста with as
5:16:19 Импорт модулей, if name == 'main''
5:34:58 Игра в кости на python tkinter
5:56:53 Декораторы
6:10:36 Генераторы списков, словарей, множеств
6:30:56 Выражение генератор
6:43:03 Функция генератор, оператор yield
6:51:51 lambda функция
Смотреть видео
00:00 Вступление в курс уроков по python
00:45 Установка python, первая программа
10:47 Переменные
20:56 Типы данных в python
30:02 Условные операторы if, elif, else
39:03 Условные операторы 2
45:53 Условные операторы Практика
56:44 Цикл while
1:12:37 Цикл for
1:21:23 Цикл for, цикл в цикле
1:29:34 Списки, тип данных list
1:41:29 Списки, методы типа данных list
1:53:21 Кортежи, тип данных tuple
2:08:42 Практика python, модуль os, функция walk
2:21:16 Функции def, определение и вызов
2:30:07 Функции def, параметры и аргументы
2:43:49 Функции переменное количество аргументов, параметр *args
2:56:28 Функции, область видимости переменных
3:08:49 Функции и структура кода
3:22:07 Словари, тип данных dict
3:37:22 Словари, методы dict
3:49:21 Чтение и запись файлов
4:05:29 Множества, тип данных set
4:22:30 Строки, экранированные символы
4:30:17 Строки, методы str
4:43:13 f-строка, форматирование строк
4:50:10 Обработка исключений, try, except
5:09:59 Менеджер контекста with as
5:16:19 Импорт модулей, if name == 'main''
5:34:58 Игра в кости на python tkinter
5:56:53 Декораторы
6:10:36 Генераторы списков, словарей, множеств
6:30:56 Выражение генератор
6:43:03 Функция генератор, оператор yield
6:51:51 lambda функция
Смотреть видео
YouTube
Экспресс курс по python за 7 часов!
🔥Мой НОВЫЙ курс по Python на YouTube [первые 12 часов]:
https://youtu.be/lYMLLI-MJek
00:00 Вступление в курс уроков по python
00:45 Установка python, первая программа
10:47 Переменные
20:56 Типы данных в python
30:02 Условные операторы if, elif, else
39:03…
https://youtu.be/lYMLLI-MJek
00:00 Вступление в курс уроков по python
00:45 Установка python, первая программа
10:47 Переменные
20:56 Типы данных в python
30:02 Условные операторы if, elif, else
39:03…
🔥7👏4👍1🤣1
Программа, генерирующая сложные пароли
Воспользуемся наборами цифр и букв из стандартной библиотеки. Объединим их в одну строку, затем зададим требуемую длину пароля и с помощью цикла соответствующей длины и функции choice из модуля random, позволяющей выбрать случайный символ из строки, сформируем пароль.
Воспользуемся наборами цифр и букв из стандартной библиотеки. Объединим их в одну строку, затем зададим требуемую длину пароля и с помощью цикла соответствующей длины и функции choice из модуля random, позволяющей выбрать случайный символ из строки, сформируем пароль.
👍8
Конвертируем из JPG в PNG с помощью Pillow
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
🔥6
Инструмент командной строки howdoi
Вы можете задать любой вопрос, и система попытается найти для вас подходящий ответ. Однако стоит помнить: она использует фрагменты кода из популярных решений на StackOverflow, поэтому результаты не всегда могут быть полезными или точными.
Вы можете задать любой вопрос, и система попытается найти для вас подходящий ответ. Однако стоит помнить: она использует фрагменты кода из популярных решений на StackOverflow, поэтому результаты не всегда могут быть полезными или точными.
👍6
Библиотека Jedi
Библиотека создана для автоматического дополнения и анализа программного кода. Она способствует ускорению разработки и повышению продуктивности написания кода.
**kwargs
Использование двойных звездочек перед словарем позволяет передавать его содержимое в функцию в виде именованных аргументов. Ключи словаря становятся именами аргументов, а значения передаются в функцию. При этом название словаря не обязательно должно быть "kwargs".
Этот подход особенно полезен, когда функции требуется обрабатывать именованные аргументы, которые не были заранее определены.
Библиотека создана для автоматического дополнения и анализа программного кода. Она способствует ускорению разработки и повышению продуктивности написания кода.
**kwargs
Использование двойных звездочек перед словарем позволяет передавать его содержимое в функцию в виде именованных аргументов. Ключи словаря становятся именами аргументов, а значения передаются в функцию. При этом название словаря не обязательно должно быть "kwargs".
Этот подход особенно полезен, когда функции требуется обрабатывать именованные аргументы, которые не были заранее определены.
👍3
wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к полностью бесплатной информации.
Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
Как и настоящий сайт, модуль предоставляет поддержку многих языков, получение случайной страницы и даже метод donate().
У Wikipedia есть классное API, которое позволяет получить доступ к полностью бесплатной информации.
Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
Как и настоящий сайт, модуль предоставляет поддержку многих языков, получение случайной страницы и даже метод donate().
👍4
Форматирование многострочного вывода
Если вы хотите, чтобы вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это «резервирует» пространство из 10 символов.
Если вы хотите, чтобы вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это «резервирует» пространство из 10 символов.
👍11👨💻2
Tabulate — это модуль, предназначенный для создания таблиц с эстетичным и удобным оформлением.
Он предоставляет широкий набор функций для форматирования данных, что позволяет легко выводить словари, списки, а также двумерные массивы из библиотек NumPy и Pandas.
Помимо работы в консоли, Tabulate поддерживает экспорт данных в различные веб-форматы, включая HTML и Markdown Extra. Установить его можно с помощью команды:
Подробнее - https://github.com/astanin/python-tabulate?ysclid=lowsdj7qhr649655078
Он предоставляет широкий набор функций для форматирования данных, что позволяет легко выводить словари, списки, а также двумерные массивы из библиотек NumPy и Pandas.
Помимо работы в консоли, Tabulate поддерживает экспорт данных в различные веб-форматы, включая HTML и Markdown Extra. Установить его можно с помощью команды:
pip install tabulate.Подробнее - https://github.com/astanin/python-tabulate?ysclid=lowsdj7qhr649655078
GitHub
GitHub - astanin/python-tabulate: Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated…
Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate. - astanin/python-tabulate
👍2
Тестирование с использованием pytest
Pytest больше соответствует духу Python, в отличие от unittest, который накладывает дополнительные ограничения при создании тестов. Например, в unittest необходимо создавать классы, наследующиеся от TestCase, и соблюдать определенные правила для запуска тестов.
Однако при работе с pytest такие требования отсутствуют. Достаточно просто написать функции, названия которых начинаются с "test_", и использовать встроенный в Python оператор assert.
Кроме того, pytest обеспечивает полную совместимость с тестами, написанными для unittest и nose, что позволяет легко интегрировать их в проекты.
Pytest больше соответствует духу Python, в отличие от unittest, который накладывает дополнительные ограничения при создании тестов. Например, в unittest необходимо создавать классы, наследующиеся от TestCase, и соблюдать определенные правила для запуска тестов.
Однако при работе с pytest такие требования отсутствуют. Достаточно просто написать функции, названия которых начинаются с "test_", и использовать встроенный в Python оператор assert.
Кроме того, pytest обеспечивает полную совместимость с тестами, написанными для unittest и nose, что позволяет легко интегрировать их в проекты.
👍4
Диктофон в python 🐍
pip install sounddevice
import sounddevice
from scipy.io.wavfile import write
#sample_rate
fs=44100
#Ask to enter the recording time
second = int(input("Enter the Recording Time in second: "))
print("Recording…\n")
record_voice = sounddevice.rec(int(second * fs),samplerate=fs,channels=2)
sounddevice.wait()
write("MyRecording.wav",fs,record_voice)
print("Recording is done Please check you folder to listen recording")
🥰3👍2
Kivy | Разработка приложений.
Kivy – это бесплатная библиотека Python с открытым исходным кодом.
Основное назначение: разработка приложений (с инновационными пользовательскими интерфейсами)
Kivy – это бесплатная библиотека Python с открытым исходным кодом.
Основное назначение: разработка приложений (с инновационными пользовательскими интерфейсами)
😐9👍3
Отладка регулярных выражений в Python
Регулярные выражения — мощный инструмент для работы с текстом, но их отладка может быть сложной. В Python есть встроенная возможность визуализировать регулярное выражение в виде дерева синтаксического анализа, что помогает понять, как интерпретируется шаблон. Для этого используется флаг
Пример использования:
При запуске этого кода интерпретатор выведет подробную информацию о том, как регулярное выражение разбирается и какие элементы в него входят.
Пример проблемы:
Рассмотрим регулярное выражение для поиска тегов
Если в закрывающем теге не экранированы квадратные скобки (например,
Исправленный вариант:
Чтобы исправить проблему, нужно экранировать квадратные скобки:
Преимущества `re.DEBUG`:
1. Визуализация структуры: Позволяет увидеть, как интерпретируется регулярное выражение.
2. Поиск ошибок: Помогает обнаружить синтаксические ошибки или неожиданное поведение.
3. Обучение: Удобен для изучения работы регулярных выражений.
Использование
Регулярные выражения — мощный инструмент для работы с текстом, но их отладка может быть сложной. В Python есть встроенная возможность визуализировать регулярное выражение в виде дерева синтаксического анализа, что помогает понять, как интерпретируется шаблон. Для этого используется флаг
re.DEBUG в методе re.compile. Пример использования:
import re
# Регулярное выражение для поиска тегов <font>
pattern = re.compile(r"<font[^>]*>.*?</font[^>]*>", re.DEBUG)
При запуске этого кода интерпретатор выведет подробную информацию о том, как регулярное выражение разбирается и какие элементы в него входят.
Пример проблемы:
Рассмотрим регулярное выражение для поиска тегов
<font>:pattern = re.compile(r"<font[^>]*>.*?</font[^>]*>", re.DEBUG)
Если в закрывающем теге не экранированы квадратные скобки (например,
</font[^>]*>), интерпретатор воспримет их как группу символов, а не как часть тега. Это может привести к некорректной работе регулярного выражения.Исправленный вариант:
Чтобы исправить проблему, нужно экранировать квадратные скобки:
pattern = re.compile(r"<font[^>]*>.*?</font\[^>\]*>", re.DEBUG)
Преимущества `re.DEBUG`:
1. Визуализация структуры: Позволяет увидеть, как интерпретируется регулярное выражение.
2. Поиск ошибок: Помогает обнаружить синтаксические ошибки или неожиданное поведение.
3. Обучение: Удобен для изучения работы регулярных выражений.
Использование
re.DEBUG — это отличный способ улучшить понимание и отладку сложных регулярных выражений.Справочник Python
Регулярные выражения в Python: модуль re, функции и примеры
В этом уроке вы узнаете о регулярных выражениях Python и о том, как использовать наиболее распространенные функции регулярных выражений.
👍4
Оптимизация списка
Данный скрипт устраняет из списка элементы, которые считаются "ложными" (False, None, 0 и пустая строка ' '). Для этого применяется встроенная функция filter(): если передать None в качестве первого аргумента, она отфильтрует все элементы списка lst, которые не оцениваются как True в булевом контексте.
Данный скрипт устраняет из списка элементы, которые считаются "ложными" (False, None, 0 и пустая строка ' '). Для этого применяется встроенная функция filter(): если передать None в качестве первого аргумента, она отфильтрует все элементы списка lst, которые не оцениваются как True в булевом контексте.
🔥9❤1
Удаление дубликатов в Python с сохранением порядка
Для удаления дубликатов из списка с сохранением порядка элементов можно использовать тип данных
Пример реализации:
Как это работает:
1.
2. Преобразование в список возвращает только уникальные элементы в исходном порядке.
Этот метод особенно полезен, когда важно сохранить последовательность элементов после удаления дубликатов.
Если вы используете Python 3.7 или новее, обычный словарь (
Оба подхода эффективны и удобны для решения задачи.
Для удаления дубликатов из списка с сохранением порядка элементов можно использовать тип данных
OrderedDict из модуля collections. Этот подход позволяет избежать потери порядка, который происходит при преобразовании списка в множество. Пример реализации:
from collections import OrderedDict
# Исходный список с дубликатами
items = [3, 5, 2, 3, 8, 5, 1, 2]
# Удаление дубликатов с сохранением порядка
unique_items = list(OrderedDict.fromkeys(items))
# Результат
print(unique_items) # Вывод: [3, 5, 2, 8, 1]
Как это работает:
1.
OrderedDict.fromkeys(items) создает словарь, где ключи — это уникальные элементы списка, а порядок их добавления сохраняется. 2. Преобразование в список возвращает только уникальные элементы в исходном порядке.
Этот метод особенно полезен, когда важно сохранить последовательность элементов после удаления дубликатов.
Если вы используете Python 3.7 или новее, обычный словарь (
dict) также сохраняет порядок вставки, поэтому можно упростить код: # Для Python 3.7+
unique_items = list(dict.fromkeys(items))
# Результат
print(unique_items) # Вывод: [3, 5, 2, 8, 1]
Оба подхода эффективны и удобны для решения задачи.
👍6