Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Практический Python 3 для начинающих

Теория и практика. Быстрая проверка задач и подсказки к ошибкам на русском языке. Работает в любом современном браузере.

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Распаковка последовательности в отдельные переменные

Среда, 2 октября 2019 г.   Archy Python для начинающих » Общие вопросы

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

Далее...

Создание своего веб-фреймворка на Python - Часть 1

Создаем web-framework на Python

Не нужно изобретать велосипед” - одна из тех мантр, которую нам повторяют время от времени. Но что, если мы хотим узнать больше о велосипеде? Что, если я хочу научиться делать велосипеды? Я думаю в таком случае, заново изобрести велосипед - отличный способ обучения. Поэтому, в этом руководстве мы напишем собственный веб-фреймворк, чтобы увидеть, как работает магия Flask, Django, и других фреймворков.

Далее...

Какая версия Python самая быстрая?

Четверг, 12 апреля 2018 г.   Archy

Конечно, все зависит от определенных нюансов, но как именно, и как понять, какая версия Python будет самой быстрой для вашего приложения?

Является ли Python 3 медленнее Python 2? Какая версия Python 3 – самая быстрая? Какие существуют другие варианты для повышения скорости?

Далее...

Модуль multiprocessing на примерах

Пятница, 2 февраля 2018 г.   Archy Примеры Python » Общие вопросы , , , , ,
Модуль multiprocessing на примерах

Модуль multiprocessing был добавлен в Python версии 2.6. Изначально он был определен в PEP 371 Джесси Ноллером и Ричардом Одкерком. Модуль multiprocessing позволяет вам создавать процессы таким же образом, как при создании потоков при помощи модуля threading. Суть в том, что, в связи с тем, что мы теперь создаем процессы, вы можете обойти GIL (Global Interpreter Lock) и воспользоваться возможностью использования нескольких процессоров на компьютере. Пакет multiprocessing также включает ряд API, которых вообще нет в модуле threading. Например, есть очень удобный класс Pool, который вы можете использовать для параллельного выполнения функции между несколькими входами. Мы рассмотрим Pool немного позже. Мы начнем с класса Process модуля multiprocessing.

Далее...

Современные альтернативы функциям map, filter и reduce в Python

Понедельник, 30 октября 2017 г.   Archy Общие вопросы » Python для начинающих , , , , ,
Современные альтернативы функциям map, filter и reduce в Python

В функциональных языках программирования обычно имеются функции высокого порядка map, filter и reduce(иногда под другими именами).

Функции map и filter по-прежнему встроены в Python 3, но с появлением списковых включений и генераторных выражений потеряли былую значимость. Как списковое включение, так и генераторное выражение могут сделать то же, что комбинация map и filter, только код будет выглядеть понятнее.Далее...

Как определить кодировку последовательности байтов в Python

Понедельник, 30 октября 2017 г.   Archy Python для начинающих , , , ,
Как определить кодировку последовательности байтов в Python

Как узнать, в какой кодировке записана последовательность байтов? Коротки ответ: никак. Кто-то должен вам сообщить.

В некоторых коммуникационных протоколах и файловых форматах, например HTTP и XML, предусмотрены заголовки, в которых явно указывается, как закодировано содержимое.

Можно быть уверенным, что поток байтов представлен не в кодировке ASCII, если он содержит значения, больше 127, а сам способ построения UTF-8 и UTF-16 исключает определенные последовательности байтов.

Но и с учетом всего этого никогда нет стопроцентной уверенности в том, что некий двоичный файл записан в кодировке ASCII или UTF-8 просто потому, что в нем не встречаются определенные комбинации битов.Далее...

Модуль threading на примерах

Воскресенье, 10 сентября 2017 г.   Archy Python для начинающих » Общие вопросы ,

Модуль threading впервые был представлен в Python 1.5.2 как продолжение низкоуровневого модуля потоков. Модуль threading значительно упрощает работу с потоками и позволяет программировать запуск нескольких операций одновременно. Обратите внимание на то, что потоки в Python лучше всего работают с операциями I/O, такими как загрузка ресурсов из интернета или чтение файлов и папок на вашем компьютере.

Если вам нужно сделать что-то, для чего нужен интенсивный CPU, тогда вам, возможно, захочется взглянуть на модуль multiprocessing, вместо threading. Причина заключается в том, что Python содержит Global Interpreter Lock (GIL), который запускает все потоки внутри главного потока. По этой причине, когда вам нужно запустить несколько интенсивных операций с потоками, вы заметите, что все работает достаточно медленно. Так что мы сфокусируемся на том, в чем потоки являются лучшими: операции I/O.

Небольшое интро

Поток позволяет вам запустить часть длинного кода так, как если бы он был отдельной программой. Это своего рода вызов наследуемого процесса, за исключением того, что вы вызываете функцию или класс, вместо отдельной программы. Я всегда находил конкретные примеры крайне полезными. Давайте взглянем на нечто совершенно простое:

Далее...

6 примеров сортировки в Python с помощью функции sorted

Общей идиомой в программировании является сортировка списка. Python делает эту задачу очень простой благодаря встроенной функции sorted() которая принимает итерируемый тип и возвращает отсортированный список:

1. Стандартная сортировка

a = [3, 2, 5 ,4, 7, 1]
a = sorted(a)
 
print(a) # [1, 2, 3, 4, 5, 7]

Сортируем кортеж.

t = ('Zane', 'Bob', 'Janet')
t = sorted(t)
 
print(t) # ['Bob', 'Janet', 'Zane']

Сортировка словаря.

d = {1:'a', 2:'b', 3:'c'}
d = sorted(d)
print(d) # [1, 2, 3]

Далее...

12 советов для работы с датой и временем

Вторник, 18 апреля 2017 г.   Archy Примеры Python » Общие вопросы , ,

datetime python

Библиотека datetime содержит несколько полезных объектов для работы со временем и датами. Я регулярно пользуюсь ими, и хочу поделиться кое-какими полезными операциями, которые могут помочь вам в работе.

1. Во первых, давайте импортируем библиотеку datetime и создадим три разных объекта:

  • Объект date – для хранения даты;
  • Объект time – для хранения времени;
  • Объект datetime – для хранения и даты и времени.

Для начала создадим объект datetime, мы можем извлечь его время и дату и создать соответствующие объекты:

import datetime
now = datetime.datetime.now()
today = now.date()
moment = now.time()

Далее...

Руководство по Selenium: Web Scraping с Selenium и Python

Воскресенье, 2 апреля 2017 г.   Archy , , , ,

Web Scraping с Selenium и Python

Представьте, какие возможности откроются перед вами, если вы автоматизируете всю нудную деятельность в интернете, такую как ежедневная проверка первых результатов в Google по ключевым запросам, или загрузка кучи разных файлов с разных сайтов. В данном разделе мы научимся пользоваться Selenium вместе с Python. Selenium – это инструмент для веб скрейпинга, имитирующий деятельность пользователя в интернете. К примеру, вы можете использовать Selenium для автоматических запросов в Google и чтения результатов, или заходить в ваши аккаунты в социальных сетях, имитировать пользователя для теста ваших веб приложений. А также многое другое, что вам нужно постоянно делать в интернете. Возможности безграничны!

Важно: Каждый код в этом разделе был протестирован на Python 2.7 и Python 3.4.

Установка и использование Selenium

Selenium – это пакет Python который может быть установлен при помощи pip. Рекомендую установить его в виртуальной среде (используя virtualenv и virtualenvwrapper).

Чтобы установить Selenium, вам нужно ввести следующее:

pip install selenium

Далее...