Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Forwarded from Python Lounge: работа и стажировки для программистов
Автопостинг c ВК в телеграм
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.
Forwarded from Python Lounge: работа и стажировки для программистов
Нахождение 10 наиболее частых слов на web странице
Решим небольшую задачку в данной статье.
Решим небольшую задачку в данной статье.
Forwarded from Python Lounge: работа и стажировки для программистов
HTML парсер на Python
Учитывая современное развитие Интернета, было бы кощунством не написать приложение, взаимодействующее со всемирной паутиной.
Сегодня мы напишем простенький html-парсер на Python.
Наше приложение будет читать код указанной страницы сайта и сохранять все ссылки в ней в отдельный файл.
Это приложение может помочь SEO-аналитикам и веб-разработчикам.
Учитывая современное развитие Интернета, было бы кощунством не написать приложение, взаимодействующее со всемирной паутиной.
Сегодня мы напишем простенький html-парсер на Python.
Наше приложение будет читать код указанной страницы сайта и сохранять все ссылки в ней в отдельный файл.
Это приложение может помочь SEO-аналитикам и веб-разработчикам.
Forwarded from Hello World
Что новенького?
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
Пока я ковырялся с этим, изучил практически досконально метод
✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
ctypes
.Пока я ковырялся с этим, изучил практически досконально метод
__call__
и понял что декорирующие классы могут очень сильно менять логику Python.✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Forwarded from Библиотека питониста | Python, Django, Flask
Функция complex() создает комплексное число:
>>> complex(3.5,4)
(3.5+4j)
Функция eval() исполняет строку:
>>> eval("print(max(22,22.0) — min(2,3))")
20
Функция filter() отфильтровывает элементы, для которых заданное условие верно.
>>> list(filter(lambda x: x%2 == 0,[1, 2, 0, False]))
[2, 0, False]
Функция format() помогает задать формат строки:
>>> print("a = {0} but b = {1}".format(a, b))
a = 2 but b = 3
Функция hash() возвращает хэш-значение объекта:
>>> hash(3.7)
644245917
Функция hex() преобразовывает число в шестнадцатеричное число:
>>> hex(14)
"0xe"
Функция input() читает ввод и возвращает строку:
>>> input("Enter a number")
Enter a number7
"7"
Функция len() возвращает число, показывающее длину строки:
>>> len("Ayushi")
6
Функция locals() возвращает словарь с локальной таблицей имен:
>>> locals()
{"__name__": "__main__", "__doc__": None, "__package__": None, "__loader__": <class "_frozen_importlib.BuiltinImporter">, "__spec__": None, "__annotations__": {}, "__builtins__": <module "builtins" (built-in)>, "a": 2, "b": 3}
Функция open() открывает файл:
>>> file = open("tabs.txt")
>>> complex(3.5,4)
(3.5+4j)
Функция eval() исполняет строку:
>>> eval("print(max(22,22.0) — min(2,3))")
20
Функция filter() отфильтровывает элементы, для которых заданное условие верно.
>>> list(filter(lambda x: x%2 == 0,[1, 2, 0, False]))
[2, 0, False]
Функция format() помогает задать формат строки:
>>> print("a = {0} but b = {1}".format(a, b))
a = 2 but b = 3
Функция hash() возвращает хэш-значение объекта:
>>> hash(3.7)
644245917
Функция hex() преобразовывает число в шестнадцатеричное число:
>>> hex(14)
"0xe"
Функция input() читает ввод и возвращает строку:
>>> input("Enter a number")
Enter a number7
"7"
Функция len() возвращает число, показывающее длину строки:
>>> len("Ayushi")
6
Функция locals() возвращает словарь с локальной таблицей имен:
>>> locals()
{"__name__": "__main__", "__doc__": None, "__package__": None, "__loader__": <class "_frozen_importlib.BuiltinImporter">, "__spec__": None, "__annotations__": {}, "__builtins__": <module "builtins" (built-in)>, "a": 2, "b": 3}
Функция open() открывает файл:
>>> file = open("tabs.txt")
Forwarded from Библиотека питониста | Python, Django, Flask
12 марта с 19:00 до 22:00 митап для разработчиков Java и Python в #ITX5
Слушаем классные доклады и обсуждаем последние тренды. Темы докладов:
⬥ О чём мечтают Java-роботы, глядя на Python
⬥ AOP – альтернативный подход к объектам
⬥ Чистая архитектура в среде изменяющихся требований
Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, нужно лишь зарегистрироваться: https://prglb.ru/393of
Слушаем классные доклады и обсуждаем последние тренды. Темы докладов:
⬥ О чём мечтают Java-роботы, глядя на Python
⬥ AOP – альтернативный подход к объектам
⬥ Чистая архитектура в среде изменяющихся требований
Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, нужно лишь зарегистрироваться: https://prglb.ru/393of
Forwarded from MoscowPython Conf Channel
Что такое DDD и какие инструменты в нем есть, читайте в статье, основанной на докладе Артёма Малышева на Moscow Python Conf++ 2019.
В статье обсуждаем подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка. Всё, чтобы ваш проект не получился похожим на синего кита — морское животное, которое не может дышать под водой.
В статье обсуждаем подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка. Всё, чтобы ваш проект не получился похожим на синего кита — морское животное, которое не может дышать под водой.
Хабр
Инструменты Domain Driven Design
Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком,...
Forwarded from Библиотека питониста | Python, Django, Flask
Как создать виртуальное окружение в Python и перестать думать о зависимостях
Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.
https://prglb.ru/3vk41
Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.
https://prglb.ru/3vk41
Forwarded from Python Academy
Освоить Python и написать блокчейн за неделю? Легко.
С 16 марта начинается наш новый курс, который подойдет как начинающим, так и людям с опытом. Мы разберём многие темы, начиная с установки интерпретатора и заканчивая парадигмой ООП.
Во время прохождения курса вы получите:
❶ Общие концепты программирования и основы Python;
❷ Практические домашние задания с разбором;
❸ Финальный проект: блокчейн с нуля.
Цена для подписчиков нашего канала 490₽.
Все вопросы и запись на курс: @a1f20 и @dartrisen
С 16 марта начинается наш новый курс, который подойдет как начинающим, так и людям с опытом. Мы разберём многие темы, начиная с установки интерпретатора и заканчивая парадигмой ООП.
Во время прохождения курса вы получите:
❶ Общие концепты программирования и основы Python;
❷ Практические домашние задания с разбором;
❸ Финальный проект: блокчейн с нуля.
Цена для подписчиков нашего канала 490₽.
Все вопросы и запись на курс: @a1f20 и @dartrisen
Forwarded from Moscow Python (Valentin Dombrovsky)
В гостях у Moscow Python Podcast Петр Ермаков, senior data scientist в компании Lamoda, основатель школы DataGym. Обсудили возможности коллективной работы с jupiter notebook и многое другое.
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, тимлид NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.
https://youtube.com/watch?v=V0XXiOooP_U
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, тимлид NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.
https://youtube.com/watch?v=V0XXiOooP_U
YouTube
Moscow Python Podcast. Проблемы jupyter notebook и их решения в production (level: junior)
В гостях у Moscow Python Podcast Петр Ермаков, senior data scientist в компании Lamoda, основатель школы DataGym. Обсудили возможности коллективной работы с jupyter notebook и многое другое.
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs…
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs…
Forwarded from Moscow Python (Valentin Dombrovsky)
На Moscow Python Conf++ 2020 Владимир Протасов (Parallels) сделает доклад "Автоматизация рефакторинга". Руководитель ПК конференции Григорий Петров взял у него интервью.
https://www.youtube.com/watch?v=QFp7MIC1wzw
https://www.youtube.com/watch?v=QFp7MIC1wzw
YouTube
Интервью с Владимиром Протасовым (Parallels)
На Moscow Python Conf++ 2020 Владимир Протасов (Parallels) сделает доклад "Автоматизация рефакторинга". Руководитель ПК конференции Григорий Петров взял у него интервью.
Конференция Moscow Python Conf++: http://conf.python.ru
Тезисы доклада Владимира: h…
Конференция Moscow Python Conf++: http://conf.python.ru
Тезисы доклада Владимира: h…
Forwarded from Python Lounge: работа и стажировки для программистов
Так, кто тут у нас только что проснулся?
Расскажу-ка я вам, с чего начинать обучение Python.
Синтаксис
В первую очередь:
- операции с целыми и вещественными числами;
- типы данных;
- переменные, ветвления, стандартный ввод/вывод;
- логические операции, операции сравнения;
- условия: if, else, elif;
- блоки, отступы;
- строки и символы;
- циклы while, for;
- операторы break, continue;
- установка и подключение модулей;
- списки;
- функции;
- словари;
- интерпретатор: установка, запуск скрипта;
- файловый ввод/вывод.
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода.
IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции.
В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода.
Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций.
Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
Git
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения.
Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Расскажу-ка я вам, с чего начинать обучение Python.
Синтаксис
В первую очередь:
- операции с целыми и вещественными числами;
- типы данных;
- переменные, ветвления, стандартный ввод/вывод;
- логические операции, операции сравнения;
- условия: if, else, elif;
- блоки, отступы;
- строки и символы;
- циклы while, for;
- операторы break, continue;
- установка и подключение модулей;
- списки;
- функции;
- словари;
- интерпретатор: установка, запуск скрипта;
- файловый ввод/вывод.
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода.
IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции.
В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода.
Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций.
Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
Git
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения.
Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Forwarded from Hello World
Setters & Getters в Python
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
getter
и setter
в Python часто используются:🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
Forwarded from Hello World
Setters & Getters в Python
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
getter
и setter
в Python часто используются:🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
Forwarded from Hello World
Объявление нескольких конструкторов в классе
Перегрузка функций – это одна из возможностей, весьма широко используемых в различных языках программирования, но не в Python.
📌 Хотя в Python нельзя перегрузить обычную функцию, можно пользоваться чем-то вроде перегрузки конструкторов с использованием методов класса.
📌 Конечно, вместо использования методов класса, можно поместить всю логику альтернативных конструкторов в
✏️ В результате может получиться рабочий код, но этот код будет тяжело читать и поддерживать. Тут можно порекомендовать поместить минимум логики в
✏️ При таком подходе в нашем распоряжении окажется чистый код, с которым удобно будет работать и автору этого кода, и тому, кто этим кодом будет пользоваться.
Посмотреть код
Перегрузка функций – это одна из возможностей, весьма широко используемых в различных языках программирования, но не в Python.
📌 Хотя в Python нельзя перегрузить обычную функцию, можно пользоваться чем-то вроде перегрузки конструкторов с использованием методов класса.
📌 Конечно, вместо использования методов класса, можно поместить всю логику альтернативных конструкторов в
__init__
и решить задачу с использованием *args
, **kwargs
и множества выражений if
.✏️ В результате может получиться рабочий код, но этот код будет тяжело читать и поддерживать. Тут можно порекомендовать поместить минимум логики в
__init__
и выполнить все операции в отдельных методах/конструкторах.✏️ При таком подходе в нашем распоряжении окажется чистый код, с которым удобно будет работать и автору этого кода, и тому, кто этим кодом будет пользоваться.
Посмотреть код
Forwarded from # pip install (Student B.)
🔥 Как хешировать пароли в Python?
В данном руководстве будет разобрано использование PBKDF2_HMAC для шифрования паролей вместе с солью в Python.
🎯 Telegram Чат: @python_scripts
Содержание статьи:
1. Зачем нужно хешировать пароли?
2. Почему не стоит использовать SHA-256 или нечто похожее
3. Хеширование паролей с pbkdf2_hmac
4. Генерация соли в Python
5. Хеширование в Python
6. Хранение хеша и соли
7. Проверка правильности пароля в Python
8. Пример регистрации пользователя с проверкой пароля
Подробнее: https://python-scripts.com/haslib-pbkdf2-check-password
В данном руководстве будет разобрано использование PBKDF2_HMAC для шифрования паролей вместе с солью в Python.
🎯 Telegram Чат: @python_scripts
Содержание статьи:
1. Зачем нужно хешировать пароли?
2. Почему не стоит использовать SHA-256 или нечто похожее
3. Хеширование паролей с pbkdf2_hmac
4. Генерация соли в Python
5. Хеширование в Python
6. Хранение хеша и соли
7. Проверка правильности пароля в Python
8. Пример регистрации пользователя с проверкой пароля
Подробнее: https://python-scripts.com/haslib-pbkdf2-check-password
Forwarded from Библиотека питониста | Python, Django, Flask
YouTube
Pycharm Tutorial #1 - Setup & Basics
Pycharm Tutorial for python development!
In this video I will explaining how to use the pycharm IDE. Pycharm is an extremely powerful and useful IDE for python and can save you tons of time if you know how to use it. This pycharm tutorial goes over how to…
In this video I will explaining how to use the pycharm IDE. Pycharm is an extremely powerful and useful IDE for python and can save you tons of time if you know how to use it. This pycharm tutorial goes over how to…
Forwarded from Библиотека питониста | Python, Django, Flask
Что выведет программа?
Anonymous Quiz
10%
I love python
18%
ILP I love python
57%
ILP
15%
Compiler error