📄Модули🐍
Программы на Python содержат тысячи, десятки тысяч и сотни тысяч строк кода (есть проекты с миллионами). В таких условиях одним файлом с кодом не обойдёшься — его нужно разбивать на части. Для получения доступа к коду, который находится в других файлах, в Python реализован механизм модулей.
Модули и импортирование
Итак, файл с кодом на Python называется модулем. Имя модуля соответствует имени файла, поэтому файлы в Python принято называть в стиле "snake_case" (отметьте иронию: Python — питон — змея — snake — snake_case). Одни модули могут использовать содержимое других, если импортируют эти другие модули с помощью инструкции
Строго говоря, в Python импортировать модули можно несколькими способами:
импортировать сам модуль
импортировать отдельные определения из модуля
импортировать всё содержимое модуля сразу
Импортирование модуля
Рассмотрим применение первого способа — импортирование модуля целиком. Главное удобство упоминания модуля по имени: глядя на код, мы сразу видим, что используемая переменная или вызываемая функция — это часть конкретного модуля.
Синтаксис импорта:
Всё просто: после ключевого слова
В модуле (файле) с именем greeting.py определим функцию
# file: greeting.py
def
А в модуле с именем main.py сделаем импорт содержимого модуля greeting.py:
# file: main.py
import
print
Импортирование модуля в таком виде делает модуль доступным по имени — в данном случае это
Импортирование отдельных определений
Синтаксис импорта:
Иногда из всего модуля нужна пара функций или переменных, а имя модуля слишком длинное, чтобы писать его каждый раз. Здесь нам может пригодиться следующий вариант использования инструкции
# file: main.py
from
print
Здесь после ключевого слова
В следующем уроке мы рассмотрим третий вариант импортирования модуля ("импорт всего содержимого") и в целом немного углубим наши познания в этой теме.
Программы на Python содержат тысячи, десятки тысяч и сотни тысяч строк кода (есть проекты с миллионами). В таких условиях одним файлом с кодом не обойдёшься — его нужно разбивать на части. Для получения доступа к коду, который находится в других файлах, в Python реализован механизм модулей.
Модули и импортирование
Итак, файл с кодом на Python называется модулем. Имя модуля соответствует имени файла, поэтому файлы в Python принято называть в стиле "snake_case" (отметьте иронию: Python — питон — змея — snake — snake_case). Одни модули могут использовать содержимое других, если импортируют эти другие модули с помощью инструкции
import.Строго говоря, в Python импортировать модули можно несколькими способами:
импортировать сам модуль
импортировать отдельные определения из модуля
импортировать всё содержимое модуля сразу
Импортирование модуля
Рассмотрим применение первого способа — импортирование модуля целиком. Главное удобство упоминания модуля по имени: глядя на код, мы сразу видим, что используемая переменная или вызываемая функция — это часть конкретного модуля.
Синтаксис импорта:
import <имя_модуля (без суффикса ".py")>Всё просто: после ключевого слова
import указываем имя модуля (файла). Но при этом суффикс .py в имени надо опустить. То есть, к примеру, для модуля с именем my_module.py в инструкции импорта достаточно прописать my_module, а полный вид инструкции будет таким: import my_module.В модуле (файле) с именем greeting.py определим функцию
say_hi и переменную name:# file: greeting.py
def
say_hi(): print('Hi!')name = 'Bob'А в модуле с именем main.py сделаем импорт содержимого модуля greeting.py:
# file: main.py
import
greeting # заметьте, расширение ".py" не указывается!(greeting.name) # => Bobgreeting.say_hi() # => Hi!Импортирование модуля в таком виде делает модуль доступным по имени — в данном случае это
greeting. К содержимому же модуля можно обратиться, как говорят, "через точку". Причём можно как получать доступ к переменным (greeting.name), так и вызывать функции модуля (greeting.say_hi()).Импортирование отдельных определений
Синтаксис импорта:
from <имя_модуля (без суффикса ".py")> import <список определений>.Иногда из всего модуля нужна пара функций или переменных, а имя модуля слишком длинное, чтобы писать его каждый раз. Здесь нам может пригодиться следующий вариант использования инструкции
import:# file: main.py
from
greeting import say_hi, name(name) # используем переменнуюsay_hi() # вызываем функциюЗдесь после ключевого слова
from указано имя модуля, а затем после ключевого слова import — имена определений из этого модуля, которые мы в дальнейшем хотим использовать напрямую (а не "через точку").В следующем уроке мы рассмотрим третий вариант импортирования модуля ("импорт всего содержимого") и в целом немного углубим наши познания в этой теме.
Micro Python — эффективная реализация Python 3 для микроконтроллеров
Английский разработчик Дэмьен Джордж (Damien George) в 2014ом году объявил об эффективной реализация Python 3 для встроенных систем с малым объёмом оперативной памяти. Разработка этой версии началась в декабре, после удачной кампании по сбору средств на выпуск Pyboard — контроллера, работающего на Питоне.
Micro Python — новая реализация языка программирования Python 3, которая должна быть правильно совместима с CPython, в то же время используя минимальное количество ОЗУ, компактный компилятор и высокую производительность в среде выполнения.
Джордж объясняет, что добиться этого удалось за счёт нескольких трюков с указателями и оптимизацией кода. В результате, Micro Python поддерживает почти весь синтаксис Python 3.4 (работа ещё продолжается), а большинство скриптов занимают гораздо меньше ОЗУ и выполняются заметно быстрее, по сравнению с CPython.
Минимальный билд под ARM умещается в 80k, а со всеми функциями под Linux — в 200k. Базовая REPL-среда требует всего 2 килобайта ОЗУ.
Дополнительно, в Micro Python встроены два режима AOT-компиляции в нативный код, есть встроенный ассемблер для написания критичных ко времени приложений на микроконтроллере.
Реализация написана на C99 ANSI C и нормально компилируется под Unix (POSIX), Mac OS X, Windows и некоторых ARM-микроконтроллерах.
Вот документация Micro Python - https://micropython-ru.readthedocs.io/ru/latest/
Английский разработчик Дэмьен Джордж (Damien George) в 2014ом году объявил об эффективной реализация Python 3 для встроенных систем с малым объёмом оперативной памяти. Разработка этой версии началась в декабре, после удачной кампании по сбору средств на выпуск Pyboard — контроллера, работающего на Питоне.
Micro Python — новая реализация языка программирования Python 3, которая должна быть правильно совместима с CPython, в то же время используя минимальное количество ОЗУ, компактный компилятор и высокую производительность в среде выполнения.
Джордж объясняет, что добиться этого удалось за счёт нескольких трюков с указателями и оптимизацией кода. В результате, Micro Python поддерживает почти весь синтаксис Python 3.4 (работа ещё продолжается), а большинство скриптов занимают гораздо меньше ОЗУ и выполняются заметно быстрее, по сравнению с CPython.
Минимальный билд под ARM умещается в 80k, а со всеми функциями под Linux — в 200k. Базовая REPL-среда требует всего 2 килобайта ОЗУ.
Дополнительно, в Micro Python встроены два режима AOT-компиляции в нативный код, есть встроенный ассемблер для написания критичных ко времени приложений на микроконтроллере.
Реализация написана на C99 ANSI C и нормально компилируется под Unix (POSIX), Mac OS X, Windows и некоторых ARM-микроконтроллерах.
Вот документация Micro Python - https://micropython-ru.readthedocs.io/ru/latest/
Примеры проектов по машинному обучению — 10 лучших
https://teletype.in/@python_lounge/top10mlproject
Обсудить можно в нашем чате
https://teletype.in/@python_lounge/top10mlproject
Обсудить можно в нашем чате
Teletype
Примеры проектов по машинному обучению — 10 лучших
Обучение искусственного интеллекта — задача непростая, но затраченные усилия сполна окупятся невероятными результатами, которых можно...
Какой принцип ООП описывает следующее предложение? Этот принцип является способностью использовать общий интерфейс для нескольких форм (типов данных).
Anonymous Quiz
10%
Инкапсуляция
48%
Полиморфизм
14%
Абстракция
28%
Наследование
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11
Обсудить можно в нашем чате.
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11
Обсудить можно в нашем чате.
Telegraph
ООП на Python: концепции, принципы и примеры реализации
Объектно-ориентированная парадигма имеет несколько принципов: Данные структурируются в виде объектов, каждый из которых имеет определенный тип, то есть принадлежит к какому-либо классу. Классы – результат формализации решаемой задачи, выделения главных ее…
Heap Sort (Сортировка кучей)
Сортировка кучей, пирамидальная сортировка — алгоритм сортировки, использующий структуру данных двоичная куча. Это неустойчивый алгоритм сортировки с временем работы O(nlogn)
, где n
— количество элементов для сортировки, и использующий O(1)
дополнительной памяти.
Реализация на Python
Сортировка кучей, пирамидальная сортировка — алгоритм сортировки, использующий структуру данных двоичная куча. Это неустойчивый алгоритм сортировки с временем работы O(nlogn)
, где n
— количество элементов для сортировки, и использующий O(1)
дополнительной памяти.
Реализация на Python
# Программа Python для реализации сортировки кучи# Чтобы скопировать поддерево с корневым индексом i.#@python_lounge# n - размер кучи def heapify(arr, n, i): largest = i # Инициализировать largest как root l = 2 * i + 1 # left = 2*i + 1 r = 2 * i + 2 # right = 2*i + 2 # Проверить, существует ли левый дочерний элемент root и есть ли # больше, чем корень if l < n and arr[i] < arr[l]: largest = l # Проверить, существует ли правый дочерний элемент root и есть ли он # больше, чем корень if r < n and arr[largest] < arr[r]: largest = r # Сменить корень, если нужно if largest != i: arr[i],arr[largest] = arr[largest],arr[i] # swap # Заполнить корень. heapify(arr, n, largest) # Основная функция для сортировки массива заданного размера def heapSort(arr): n = len(arr) # Создание maxheap. # Поскольку последний родитель будет в ((n // 2) -1), мы можем начать с этого места. for i in range(n // 2 - 1, -1, -1): heapify(arr, n, i) # Один за другим извлечь элементы for i in range(n-1, 0, -1): arr[i], arr[0] = arr[0], arr[i] # swap heapify(arr, i, 0) # Код драйвера для тестирования вышеarr = [ 12, 11, 13, 5, 6, 7] heapSort(arr) n = len(arr) print ("Sorted array is") for i in range(n): print ("%d" %arr[i]),🚀Библиотека OpenCV :-֊ Установка, основные понятия, и сферы применения.🐍
- Что такое OpenCV?
OpenSource Библиотека компьютерного зрения и машинного обучения с открытым исходным кодом. В неё входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения. Эта библиотека имеет интерфейсы на различных языках, среди которых есть наш любимый Python.
- Установка OpenCV
Инструкцию по установке на Windows можно посмотреть здесь, а на Linux — здесь
.
- Для решении каких проблем была создана библиотека?
OpenCV позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы
машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:
- контроль качества выпускаемой продукции;
- обработке изображений в медицине;
- обеспечении безопасности;
- интерфейсе пользователя;
- робототехнике.
-----------------------------------
— Исходный код примеров можете найти по ссылке ниже.
[ --code-- ]
— Объяснение каждой строки в коде найдите здесь.
[ --explaining-- ]
- Что такое OpenCV?
OpenSource Библиотека компьютерного зрения и машинного обучения с открытым исходным кодом. В неё входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения. Эта библиотека имеет интерфейсы на различных языках, среди которых есть наш любимый Python.
- Установка OpenCV
Инструкцию по установке на Windows можно посмотреть здесь, а на Linux — здесь
.
- Для решении каких проблем была создана библиотека?
OpenCV позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы
машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:
- контроль качества выпускаемой продукции;
- обработке изображений в медицине;
- обеспечении безопасности;
- интерфейсе пользователя;
- робототехнике.
-----------------------------------
— Исходный код примеров можете найти по ссылке ниже.
[ --code-- ]
— Объяснение каждой строки в коде найдите здесь.
[ --explaining-- ]
⏱️Создание временных файлов и каталогов🐍
⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.
✅Решение
В модуле
Чтобы создать безымянный временный файл, используйте
Обсудить можно в нашем чате.
Объяснение кода по ссылке ниже
https://teletype.in/@tyom/DD1R_X2U5
⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.
✅Решение
В модуле
tempfile есть различные функции, которые помогут решить эту задачу.Чтобы создать безымянный временный файл, используйте
tempfile.TemporaryFile:from tempfile import TemporaryFilewith TemporaryFile('w+t') as f:# Чтение/запись в файлf.write('Hello World\n')f.write('Testing\n')# Перейти в начало и прочесть данныеf.seek(0)data = f.read()# Временный файл уничтоженТакже вы можете использовать файл таким образом:f = TemporaryFile('w+t')# Использовать временный файл...f.close()# Файл уничтоженОбсудить можно в нашем чате.
Объяснение кода по ссылке ниже
https://teletype.in/@tyom/DD1R_X2U5
📄Объединяем словари
с помощью функции
Вы можете использовать функцию
из одного словаря в другой.
Определим словарь
Кроме того, у нас есть еще один словарь — others , содержащий имена других
юмористов:
Теперь появляется еще один программист, который решил, что члены второго словаря
others должны быть членами первого:
- А что произойдет, если во втором словаре будут находиться такие же ключи, что
и в первом?
- Победит значение из второго словаря:
с помощью функции
update()📖.Вы можете использовать функцию
update() , чтобы скопировать ключи и значенияиз одного словаря в другой.
Определим словарь
pythons , содержащий имена юмористов:>>> pythons = {...'Chapman': 'Graham',...'Cleese': 'John',...'Gilliam': 'Terry',...'Idle': 'Eric',...'Jones': 'Terry',...'Palin': 'Michael'}>>> pythons{'Chapman': 'Graham', 'Cleese': 'John', 'Gilliam': 'Terry','Idle': 'Eric', 'Jones': 'Terry', 'Palin': 'Michael'}Кроме того, у нас есть еще один словарь — others , содержащий имена других
юмористов:
>>> others = { 'Marx': 'Groucho', 'Howard': 'Moe' }Теперь появляется еще один программист, который решил, что члены второго словаря
others должны быть членами первого:
>>> pythons.update(others)>>> pythons{'Chapman': 'Graham', 'Cleese': 'John', 'Gilliam': 'Terry','Idle': 'Eric', 'Jones': 'Terry', 'Palin': 'Michael','Marx': 'Groucho', 'Howard': 'Moe'}- А что произойдет, если во втором словаре будут находиться такие же ключи, что
и в первом?
- Победит значение из второго словаря:
>>> first = {'a': 1, 'b': 2}>>> second = {'b': 'platypus'}>>> first.update(second)>>> first{'a': 1, 'b': 'platypus'}Программируете на Python или хотите начать? Тогда заходите в авторский телеграм-канал о Python!
В нём:
🔺 топ ошибок новичков,
🔺 лайфхаки и трюки,
🔺 красивый код,
🔺 разбор вопросов с собеседований.
Тем, кто хочет понимать, что пишет: @python_in_depth
В нём:
🔺 топ ошибок новичков,
🔺 лайфхаки и трюки,
🔺 красивый код,
🔺 разбор вопросов с собеседований.
Тем, кто хочет понимать, что пишет: @python_in_depth
Сделать пост в Инстаграм с помощю python написав 4 строчки кода
Перед запуском скрипта нужно убедиться, что на машине установлен модуль instabot,
в противном случае нужно её установить написав в терминале следующую команду.
Обсудить пост и пообщатся можно в нашем чате.
Перед запуском скрипта нужно убедиться, что на машине установлен модуль instabot,
в противном случае нужно её установить написав в терминале следующую команду.
pip install instabot from instabot import botbot = Bot()bot.login(username = "user_name", password = "user_password")bot upload_photo("Post.jpg", caption = "Posted via Python Bot")Обсудить пост и пообщатся можно в нашем чате.
Делать разборы сложных проектов?
Anonymous Poll
79%
Да 🐍
20%
Нет, давайте побольше простых
1%
Я предложу идею в комментариях
- "Я тебя по IP вычислю". 👶🏻
Думаю все наши подписчики так или иначе сталкивались с подобной ситуацией.
Мы заинтересовались этой темой, и как и было ожидаемо, знание python поможет бороться с такими индивидуумами реально вычислив их по IP.
Для этого нам понадобится модуль названный ip2geotools и еще модуль socket
;Установить их можно соответственно командами :
;Сам скрипт :
-------------------------------------------------
Обсудить пост и пообщаться можно в нашем чате.
Думаю все наши подписчики так или иначе сталкивались с подобной ситуацией.
Мы заинтересовались этой темой, и как и было ожидаемо, знание python поможет бороться с такими индивидуумами реально вычислив их по IP.
Для этого нам понадобится модуль названный ip2geotools и еще модуль socket
;Установить их можно соответственно командами :
> pip install ip2geotools> pip install socket;Сам скрипт :
import socketfrom ip2geotools.databases.noncommercial import DbIpCityIP = input("Введите IP")response = DbIpCity.get(IP,api_key = "free")print ("IP : ", IP)print ("City : ", response.city)print ("Region:", response.region)print ("Country:", response.country)-------------------------------------------------
Обсудить пост и пообщаться можно в нашем чате.
Эхо Бот для телеграма на python
используемые модули
"""
Простой бот для ответа на сообщения Telegram.
Сначала определяется несколько функций-обработчиков. Затем эти функции передаются в
Диспетчер и зарегистрированы по месту.
Затем бот запускается и работает, пока мы не нажмем Ctrl-C в командной строке.
Использование:
Базовый пример Echobot, повторяет сообщения.
Нажмите Ctrl-C в командной строке или отправьте сигнал процессу, чтобы остановить
бот.
"""
__________________________________________
Код можете найти по этой ссылке.
A oбсудить пост и пообщаться можно в нашем чате
используемые модули
logging . telegram"""
Простой бот для ответа на сообщения Telegram.
Сначала определяется несколько функций-обработчиков. Затем эти функции передаются в
Диспетчер и зарегистрированы по месту.
Затем бот запускается и работает, пока мы не нажмем Ctrl-C в командной строке.
Использование:
Базовый пример Echobot, повторяет сообщения.
Нажмите Ctrl-C в командной строке или отправьте сигнал процессу, чтобы остановить
бот.
"""
__________________________________________
Код можете найти по этой ссылке.
A oбсудить пост и пообщаться можно в нашем чате
Как объединить видео и аудио файлы в ffmpeg-python
Вот код python после того, как у вас есть
После обработки ваш файл будет лежать в файле
Для получения подробной информации о
Вы можете проверить больше примеров здесь: https://github.com/kkroening/ffmpeg-python/issues/281
PS. Если вы используете MacOS и у вас есть ошибка:
Вот код python после того, как у вас есть
pip install ffmpeg-python в вашей среде:import ffmpeginput_video = ffmpeg.input('./test/test_video.webm')input_audio = ffmpeg.input('./test/test_audio.webm')ffmpeg.concat(input_video, input_audio, v=1, a=1).output('./processed_folder/finished_video.mp4').run()После обработки ваш файл будет лежать в файле
./processed_folder/finished_video.mp4v=1 : Установите количество выходных видеопотоков, то есть также количество видеопотоков в каждом сегменте. Значение по умолчанию-1.a=1 : установите количество выходных аудиопотоков, то есть также количество аудиопотоков в каждом сегменте. Значение по умолчанию-0.Для получения подробной информации о
ffmpeg.concat , проверьте: https://ffmpeg.org/ffmpeg-filters.html#concat .Вы можете проверить больше примеров здесь: https://github.com/kkroening/ffmpeg-python/issues/281
PS. Если вы используете MacOS и у вас есть ошибка:
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg' во время выполнения кода, просто brew install ffmpeg в вашем terminal.💡Лайфхаки и памятки для питонистов!
👉Вывести в консоль 2 или более списков одновременно.
Output:
👉Превратить строку в список.
Output:
👉Превратить список списков в один список.
Output:
👉Раздробить список в группы.
Output:
👉Вывести в консоль 2 или более списков одновременно.
>>>list1 = [1, 3, 5, 7]>>>list2 = [2, 4, 6, 8]>>>for a, b in zip(list1, list2):...print (a, b)Output:
>>>1 2>>>3 4>>>5 6>>>7 8👉Превратить строку в список.
>>>formatted_list = list(map(int, input().split()))>>>print (formatted_list)Output:
>>>[1, 2, 3]👉Превратить список списков в один список.
>>>import itertools>>>list1 = [[1,2], [3,4], [5,6]]>>>lst = list(itertools.chain.from_iterable(list1))Output:
>>>[1, 2, 3, 4, 5, 6]👉Раздробить список в группы.
>>>list1 = ['Sun', 'Flowers', 'Peoples', 'Animals', 'Day', 'Night']>>>partition = list(zip(*[iter(list1)] * 2))>>>print(partition)Output:
>>>[('Sun', 'Flowers'), ('Peoples', 'Animals'), ('Day', 'Night')]🐍 Как Python применяется в блокчейн
Почему популярный язык программирования используется для блокчейна? Какие готовые инструменты Python помогут реализовать собственный проект? Как пошагово создать распределенную базу данных? На эти вопросы мы постараемся ответить в статье.
Обсудить тему можно в нашем <чате>.🚀
Почему популярный язык программирования используется для блокчейна? Какие готовые инструменты Python помогут реализовать собственный проект? Как пошагово создать распределенную базу данных? На эти вопросы мы постараемся ответить в статье.
Обсудить тему можно в нашем <чате>.🚀
Telegraph
🐍 Как Python применяется в блокчейн
Блокчейн без крипты или сферы применения распределенных баз данных Люди часто считают блокчейн «чем-то про криптовалюты», поэтому в сети можно встретить много спекулятивных материалов вокруг этой технологии. Действительно, впервые блокчейн был использован…
✊🏻✌🏻🤚🏻Проект для новичков и не только - Камень ножницы бумага
Ваша первая игра в Python: камень, ножницы, бумага.
Я предполагаю, что вы изучаете Python, потому что хотите писать интерактивные программы, например видеоигры. Что ж, сегодня твой счастливый день. Вы собираетесь запрограммировать свою первую игру на Python.
https://telegra.ph/Kamen-nozhnicy-bumaga-03-24
обсудить проект и просто пообщаться можно в нашем чате.
Ваша первая игра в Python: камень, ножницы, бумага.
Я предполагаю, что вы изучаете Python, потому что хотите писать интерактивные программы, например видеоигры. Что ж, сегодня твой счастливый день. Вы собираетесь запрограммировать свою первую игру на Python.
https://telegra.ph/Kamen-nozhnicy-bumaga-03-24
обсудить проект и просто пообщаться можно в нашем чате.
Telegraph
Камень ножницы бумага
Ваша первая игра в Python: камень, ножницы, бумага Откройте IDLE и создайте новый файл rps.py. Затем введите следующее: from random import randint #create a list of play options t = ["Rock", "Paper", "Scissors"] #assign a random play to the computer computer…
13 лучших книг по Python для начинающих и продолжающих
- 7 лучших книг по Python для начинающих
Python Crash Course, Eric Matthes
Head-First Python, Paul Barry
Invent Your Own Computer Games with Python, Al Sweigart
Think Python: How to Think Like a Computer Scientist, Allen B. Downey
Effective Computation in Physics: Field Guide to Research with Python, Anthony Scopatz, Kathryn D. Huff
Learn Python 3 the Hard Way, Zed A. Shaw
Real Python Course, Real Python Team
==========================
- Подборка лучших книг по Python для среднего и продвинутого уровня
Python Tricks: A Buffet of Awesome Python Features, Dan Bader
Fluent Python: Clear, Concise, and Effective Programming, Luciano Ramalho
Effective Python: 59 Ways to Write Better Python, Brett Slatkin
Python Cookbook, David Beazley & Brian K. Jones
Описание кождой книги найдите в этой <статье>.
Обсудить книги и просто пообщаться можно в нашем <чате>.
- 7 лучших книг по Python для начинающих
Python Crash Course, Eric Matthes
Head-First Python, Paul Barry
Invent Your Own Computer Games with Python, Al Sweigart
Think Python: How to Think Like a Computer Scientist, Allen B. Downey
Effective Computation in Physics: Field Guide to Research with Python, Anthony Scopatz, Kathryn D. Huff
Learn Python 3 the Hard Way, Zed A. Shaw
Real Python Course, Real Python Team
==========================
- Подборка лучших книг по Python для среднего и продвинутого уровня
Python Tricks: A Buffet of Awesome Python Features, Dan Bader
Fluent Python: Clear, Concise, and Effective Programming, Luciano Ramalho
Effective Python: 59 Ways to Write Better Python, Brett Slatkin
Python Cookbook, David Beazley & Brian K. Jones
Описание кождой книги найдите в этой <статье>.
Обсудить книги и просто пообщаться можно в нашем <чате>.