Перейти к содержимому

Написал программу на питон что дальше

  • автор:

Что дальше¶

Добросовестный читатель, дочитавший книгу до сих пор, а также много практиковавшийся в написании программ, наверняка уже освоился с Python. И конечно, вы уже попробовали реализовать какие-нибудь собственные идеи на Python, чтобы потренироваться. Нет? Тогда стоит начать! Но в таком случае возникает вопрос: “Что же делать дальше?”.

Я предлагаю вам справиться со следующей задачей.

Создайте собственную программу “Адресная книга”, работающую из командной строки и позволяющую просматривать, добавлять, изменять, удалять или искать контактные данные ваших знакомых. Кроме того, эта информация также должна сохраняться на диске для последующего доступа.

Это достаточно простая задача, если думать о ней в терминах, которые мы до сих пор проходили. Если же вы всё-таки нуждаетесь в подсказке, как действовать, вот она.

Подсказка (не читать!)

Создайте класс для хранения персональных данных. Объекты визитных карточек храните в словаре, в котором имена контактов будут служить ключами. Для длительного хранения этих объектов на жёстком диске воспользуйтесь модулем pickle. Для добавления, изменения или удаления контактов применяйте встроенные методы словаря.

Как только вы справитесь с этим, вы смело можете называться программистом на Python. А теперь немедленно напишите мне письмо ;-). Это не обязательный шаг, но весьма рекомендуемый. Также подумайте о покупке бумажной версии книги, чтобы поддержать её дальнейшую разработку.

Если эта задачка показалась вам слишком лёгкой, попробуйте ещё одну:

Реализуйте команду replace. Эта команда заменяет одну строку другой в списке переданных ей файлов.

Команда replace может быть любой желаемой сложности: от простой замены строк до поиска по шаблону (регулярному выражению).

А вот ещё некоторые возможные направления вашего дальнейшего путешествия по миру Python:

Упражнения¶

Примеры программ¶

Лучший способ овладеть языком программирования – это писать много программ и читать много программ:

Вопросы и ответы¶

Советы и рекомендации¶

Учебники¶

Видео¶

Обсуждение¶

Если вы застряли на какой-то проблеме в Python и не знаете, кого спросить, тогда список рассылки python-tutor подойдёт наилучшим образом.

Тем не менее, сначала проделайте всю домашнюю работу и попытайтесь решить проблему самостоятельно.

Новости¶

Если вас интересуют последние новости мира Python, отслеживайте их на официальной планете Python.

Установка библиотек¶

В Каталоге пакетов Python существует колоссальное количество открытых библиотек, которые вы можете использовать в своих программах. Для их установки можно воспользоваться pip.

Графические программы¶

Для создания собственной графической программы на Python понадобится какая-нибудь библиотека ГИП (графического интерфейса пользователя) со своими привязками к Python. Привязки позволяют писать программу на Python, используя библиотеки, которые сами по себе написаны на C, C++ или других языках.

Выбор ГИП для Python достаточно обширен:

Kivy

PyGTK

Это привязки Python к инструментарию GTK+, на основе которого построен GNOME. У GTK+ есть много своих особенностей, но как только вы освоитесь, вы сможете создавать ГИП очень быстро. Что касается дизайнера графического интерфейса Glade, то он просто незаменим. Документация же всё ещё требует некоторых улучшений. GTK+ хорошо работает в GNU/Linux, но его порт на Windows пока не закончен. При помощи GTK+ можно создавать как свободные, так и проприетарные программы. Для начала прочитайте Учебник по PyGTK.

PyQt

Это привязки Python к инструментарию Qt, на основе которого построена KDE. Qt чрезвычайно прост в использовании, особенно благодаря Qt Designer и изумительной документации Qt. PyQt бесплатно, если используется для создания свободных программ (с лицензией GPL). Для создания закрытых проприетарных программ вам придётся его купить. Начиная с Qt 4.5, разрешается создавать при помощи него не только GPL’ные программы. Для начала прочитайте краткое пособие по PyQt или Книгу PyQt.

wxPython

Это привязки Python к инструментарию wxWidgets. wxPython не так прост в освоении, но зато он переносим и работает на GNU/Linux, Windows, Mac и даже на встраиваемых платформах. Многие среды разработки для wxPython, такие как SPE (Stani’s Python Editor) и wxGlade включают дизайнеры графического интерфейса. При помощи wxPython можно создавать как свободные, так и проприетарные программы. Для начала прочитайте учебник по wxPython.

Резюме по инструментам ГИП¶

К сожалению, не существует некоего единого стандартного инструмента для создания графических программ на Python. Я бы рекомендовал выбирать один из инструментов, описанных выше, наиболее подходящий для конкретной ситуации. Во-первых, определитесь, согласны ли вы платить за использование этого инструмента. Во-вторых, определитесь, на каких платформах должна работать ваша программа: только на Windows, на Mac и GNU/Linux или на всех сразу. И в-третьих, если вы выбрали платформу GNU/Linux, то в какой среде вы работаете: в KDE или GNOME.

Для более подробного анализа см. страницу 26 Статей о Python, Том 3, Выпуск 1.

Различные реализации¶

Язык программирования обычно состоит из двух частей: собственно языка и программного обеспечения. Язык – это то, как мы что-либо пишем, а программное обеспечение – это то, что запускает наши программы.

До сих пор для выполнения наших программ мы использовали CPython. Он называется “CPython”, потому что написан на языке C и является Классическим интерпретатором Python[1].

Но существует и другое программное обеспечение, способное выполнять программы на Python:

Реализация Python, работающая на платформе Java. Это означает, что можно использовать библиотеки и классы Java в программе на Python и наоборот.

Реализация Python, работающая на платформе .NET, что означает возможность использования библиотек и классов .NET в программах на Python и наоборот.

Реализация Python, написанная на Python! Это исследовательский проект, существующий для ускорения и облегчения разработки интерпретатора, поскольку сам интерпретатор написан на динамическом языке (в отличие от статических языков, как C, Java и C# в вышеупомянутых реализациях)

Реализация Python, специализирующаяся на высокой производительности многопоточных программ.

Существуют и другие реализации, такие как CLPython – написанная на Common Lisp и IronMonkey – порт IronPython на JavaScript, что даёт возможность писать браузерные приложения (“Ajax”) на Python вместо JavaScript.

Каждая из перечисленных реализаций имеет свою область применения.

Функциональное программирование (для хорошо подготовленных читателей)¶

Для написания больших программ определённо необходимо изучить функциональный подход к программированию, в отличие от объектно-ориентированного подхода, который мы проходили в разделе “Объектно-ориентированное программирование” :

Резюме¶

Вот мы и подошли к концу нашей книги, но как говорится, это только начало конца! Теперь вы заядлый программист на Python, и несомненно, готовы решать множество задач при помощи Python. Теперь вы можете начать автоматизировать на своём компьютере всё подряд, можете писать собственные игры и многое-многое другое. Так что вперёд!

Что делать с кодом после того, как он написан?

solotony

Питон не полноценный язык (в данном случае), он интерпретируемый. Он не умеет создавать исполнительный файлы, которые ты мог бы скинуть другу, который мог бы просто запустить твою программу. Питон зависит от интерпретатора (как раз таки программы), который исполняет твой скрипт.
Скрипт на питоне можно конечно «сделать» исполнительным, но это лишь костыль (pyinstaller). Питон используется в других областях и в области десктоп софта он не очень подходит.
На питоне можно написать скрипт, который будет генерировать страницу сайта для веб сервера. И тогда ты сможешь «дать свою программу другим». Но это более сложное предприятие и для этого тебе ещё многому придётся научиться.

Для написания обычных программ (с интерфейсом и возможностью работать самостоятельно) тебе нужен другой язык. Например, C#, Delphi, C++. Которые имеют большие возможности, а среды для таких языков массу инструментов для разработки хорошего приложения. В том числе и приложения на Android и iOS.

  • Facebook
  • Вконтакте
  • Twitter

HemulGM

HemulGM

HemulGM

solotony

HemulGM

Antonio Solo, не надо путать *** с пальцем, хорошо?
Компилируемый язык создается, чтоб писать софт под конкретную ОС. В то время как интерпретируемый создается для исполнения его внутри другой программы.

Вы видимо не понимаете, для чего нужен BIOS, иначе бы так не молвили.

romesses

Когда ПО разработано, его нужно доставить до конечного пользователя. Это называется развертывание ПО, англ. Software deployment (Википедия).
ПО может работать на другом компьютере, или на специальной железяке с функцией сервера, к которой доступ осуществляется по сети. В случае работы на сервере, ПО должно работать в функции сервера, обрабатывающего запросы с клиента.

Для настольного обычно используют установщики ПО (software installer). Подготовив набор файлов установщика (обычно 1 файл), его публикуют где-то в каталогах ПО в интернете или просто на своем веб-сайте. Пользователь, скачивая, устанавливает ПО и запускает его для работы.

Для развертывания ПО на сервере есть множество способов.
Примитивный способ:
запаковать в ZIP, затем перенести код на сервер по FTP, распаковать в директории.

Более разумный:
У себя на компьютере разрабатывать и когда добавлена новая фунция или исправление, синхронизировать изменения по Git в хостинг Git (GitLab.com, GitHub.com, BitBucket.com и прочие). При разворачивании на сервере синхронизировать с репозитория Git на сервер.

Есть веб-сайты поставщиков услуг, при помощи которых можно устанавливать ПО, умея работать лишь с Git (PaaS). Суть состоит в том, что при синхронизации кода на удаленный репозиторий Git, срабатывает установка установщика и он сам автоматически устанавливает ПО и запускает новую версию. И все это без необходимости в знании как работают сервера.

Изучение Python: от нуля до мастера

Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом:

“Язык программирования высокого уровня, главная идея которого — это простая читабельность и синтаксис, который позволяет программистам выражать концепцию программы парой строк кода”

Лично для меня, первой причиной изучать Python было то, что это очень красивый язык программирования, выражать мысли в котором просто и естественно.

Следующей причиной было то, что Python мультизадачный. Мы можем его использовать для анализирования данных, разработки сайтов, машинного обучения. Quora, Pinterest и Spotify используют именно Python для своего back-end’а. Хорошая мотивация, чтобы узнать чуть больше об этом.

Основы

1. Переменные

Вы можете думать о переменных, как о словах, что держат в себе какое-то значение. Очень просто.

В Python нет ничего проще, чем определить переменную и присвоить ей какое-то значение. Представьте, что мы ходим сохранить число 1 в переменной, которую назовём “one”. Это будет выглядеть следующим образом

Что может быть проще? И при этом вы только что присвоили значение 1 для переменной “one”.

И таким образом вы можете присвоить любое значение любой переменной. И как видно в примере кода повыше, переменная “two” хранит числовое значение 2, а переменная “some_number” хранит значение 10,000.

Помимо числовых значений, мы также можем использовать логические (true/false, в переводе истинно/ложно), строки, десятичные числа и много других типов.

2. Контролирование потока: условные состояния

Ключевое слово “if” используется для ситуаций, когда нам нужно выполнить разные действия при положительных или отрицательных условиях. При значении “истинно” будет выполняться описанный после слова “if” блок, например:

2 больше, чем 1, поэтому выполняется “print”-команда.

Блок “else” выполнится при условии, если условие “if” ложно.

Так как 1 не больше 2, то выполняется в блоке “else”.

Также можно использовать “elif” условие:

3. Циклы / итерации

В Python, можно создавать циклы различными способами. Мы расскажем о двух: while и for.

Цикл While: до тех пор, пока условие истинно, код внутри цикла будет выполняться. Таким образом, следующий код напишет числа от 1 до 10.

Циклу while нужно “условие повтора”. Если оно остаётся истинным, итерации продолжаются. В приведённом примере, когда значение num становится 11, условие цикла становится ложным.

Ещё один небольшой пример, чтобы лучше понять цикл while:

Условие цикла(loop condition) установлено в True, поэтому цикл будет выполняться до тех пор, пока мы не переключим его в значение False.

Цикл for: в цилке for мы назначаем переменную “num” для самого цикла, который в свою очередь будет увеличивать значение этой переменной. Следующий код напишет числа от 1 до 10 точно так же, как и цикл while:

Видите? Очень просто. Цикл начинается с 1 и продолжается до 11 элемента.

Списки: коллекция, массив, структура данных

Представьте что вы хотите сохранить значение 1 в переменной. или может теперь вы хотите сохранить 2. А ещё 3, 4, 5…

Есть ли иной способ хранить все числа, что нам нужны, не имея при этом, не создавая при этом миллионы переменных? Как оказывается, есть иной способ хранить их всех.

Список(массив) это коллекция, которая может быть использована для хранения нескольких значений(в нашем случае чисел). Используется он следующим образом:

Это действительно просто. Мы создали список и сохранили его в my_integers.

Но затем мы спросим себя: “А как нам получить нужное значение из списка?”.

Хороший вопрос. В списках есть концепция, которая зовётся номером(индексом). Номером первого элемента в списке является 0, следующий получает 1 и так далее.

Чтобы донести это проще, мы можем представить список, у которого каждый элемент подписан своим номером. Как на следующей картинке:

Используя синтаксис Python не сложно понять и следующее:

Представьте, что мы больше не хотим хранить числа. Вместо этого мы хотим составить список имён наших знакомых. Мой выглядел бы следующим образом:

Это работает точно так же, как и с числами. Неплохо.

Только что мы выучили, как работают индексы в списках. Но мне всё ещё нужно показать вам, как добавить новый элемент в список.

Самая простая функция, которую можно использовать для этого — зовётся append. Работает она следующим образом:

Функция append донельзя проста. Вам всего лишь нужно использовать новый элемент(в примере выше это “The Effective Engineer”) как значение это функции.

Ну что же, достаточно о списках. Перейдём к следующей структуре данных.

Словарь: структура данных в виде ключ-значение

Теперь мы знаем, что списки пронумерованы числовыми значениями. Но что, если мы не хотим использовать числа для идентификации элемента? Некоторые виды структур данных могут использовать числа, строки, или другие виды идентификации.

Одним из таких типов является словарь. Словарь это коллекция пар ключ-значение. Вот так это выглядит:

Ключ указывает на значение. Чтобы получить доступ к какому-либо значению — нам нужно обратиться к его ключу. Делается это следующим образом:

Я создал словарь о себе. Моё имя, никнейм и национальность. Эти атрибуты ключи в словаре.

Похожим образом на то, как мы получаем элемент из списка по его номеру, точно так же мы получаем значения словарей по их ключам.

В примере я написал предложение о себе используя значения, которые хранятся в словаре. Довольно просто, не правда ли?

Ещё одной хорошей особенностью словарей является то, что мы можем использовать что угодно в качестве значения. В том словаре, что я создал, я хочу добавить новый ключ “age”(возраст) и числом мой реальный возраст в качестве значения:

Здесь у нас пара из ключа(age) и значения(24). При этом ключ это строка, а значение это число.

Точно также как со списками, давайте научимся добавлять новый элемент в словарь. Ключ указывающий на значение — главная особенность словаря. И это же одна из особенностей при добавлении нового элемента в словарь:

Нам просто нужно дописать значение для существующего ключа в словаре. Ничего сложного, не так ли?

Итерации: циклы для структур данных

Как описывалось выше — итерации в списках довольно просты. Обычно Python-разработчики используют цикл for. Давайте посмотрим как это выглядит:

Таким образом, за каждую книгу на книжной полке(bookshelf) мы вызываем функцию print. Достаточно просто и интуитивно. Это Python.

Для хэш-структуры данных мы используем тот же цикл for, но в качестве счётчика выступает key:

Это пример того как мы используем этот цикл. За каждый ключ в словаре, мы используем print для вывода ключа и его значения.

Также есть другой способ сделать это используя функцию iteritems.

Мы назвали наши параметры как key и value, но в этом нет необходимости. Мы можем назвать их как угодно. Давайте проверим это:

В данном примере мы использовали attribute, как параметр для ключей словаря. Как видим, всё работает корректно. Отлично!

Классы и объекты

Немного теории:

Объекты это представление предметов из реальной жизни, например машин, собак, велосипедов. У объектов есть две основных характеристики: данные и поведение.

У машин есть данные, например количество колёс или сидячих мест. Также у них есть поведение: они могут разгоняться, останавливаться, показывать оставшееся количество топлива и другое.

В объектно-ориентированном программировании мы идентифицируем данные как атрибуты, а поведение как методы. Ещё раз:

Данные → Атрибуты; Поведение → Методы

Класс это как чертёж, из которого создаются уникальные объекты. В реальном мире есть множество объектов с похожими характеристиками. Например, машины. Все они имеют какую-то марку или модель(точно так же как и двигатель, колёса, двери и так далее). Каждая машина была построена из похожего набора чертежей и деталей.

Активировать объектно-ориентированный режим Python

Python, как объектно-ориентированный язык программирования, имеет следующие концепции: классы и объекты.

Класс — это чертёж, модель для его объектов.

Ещё раз, класс — это просто модель, или способ для определения атрибутов и поведения(о которых мы говорили в теории выше). Например, класс машины будет иметь свои собственные атрибуты, которые определяют какие объекты являются машинами. Количество колёс, тип топлива, количество сидячих мест и максимальная скорость — всё это является атрибутами машин.

Держа это в уме, давайте посмотрим на синтаксис Python для классов:

Мы определяем классы class-блоком и на этом всё. Легко, не так ли?

Объекты это экземпляры классов. Мы создаём экземпляр тогда, когда даём классу имя.

Здесь car это объект(экземпляр) класса Vehicle.

Помните, что наш класс машин имеет следующие атрибуты: количество колёс, тип топлива, количество сидячих мест и максимальная скорость. Мы задаём все атрибуты когда создаём объект машины. В коде ниже, мы описываем наш класс таким образом, чтобы он принимал данные в тот момент, когда его инициализируют:

Мы используем метод init. Мы называем этот конструктор-методом. Таким образом, когда мы создаём объект машины, мы можем ещё и определить его атрибуты. Представьте, что нам нравится модель Tesla S и мы хотим создать её как наш объект. У неё есть четыре колеса, она работает на электрической энергии, есть пять сидячих мест и максимальная скорость составляет 250 км/ч. Давайте создадим такой объект:

Четыре колеса + электрический “вид топлива” + пять сидений + 250 км/ч как максимальная скорость.

Все атрибуты заданы. Но как нам теперь получить доступ к значениям этих атрибутов? Мы посылаем объекту сообщению с запросом атрибутов. Мы называем это метод. Это поведение объекта. Давайте воплотим эту идею:

Это реализация двух методов: number_of_wheels и set_number_of_wheels. Мы называем их получатель и установщик. Потому что получатель принимает значение атрибута, а установщик задаёт ему новое значение.

В Python мы можем реализовать это используя @property для описания получателя и установщика. Посмотрим на это в коде:

Далее мы можем использовать методы как атрибуты:

Это немного отличается от описания методов. Эти методы работают как атрибуты. Например, когда мы задаём количество колёс, то не применяем два как параметр, а устанавливаем значение двойки для number_of_wheels. Это один из способ написать получать и установщик в Python.

Ещё мы можем использовать методы для других вещей, например создать метод “make_noise”(пошуметь).

Когда мы вызовем этот метод, он просто вернётся строку “VRRRRUUUUM”.

Инкапсуляция: сокрытие информации

Инкапсуляция — это механизм, который ограничивает свободный доступ к данным и методам объекта. Но в то же время, это упрощает доступ к данным(методам объекта).

“Инкапсуляция может использоваться для сокрытия данных и функций. Под определением инкапсуляции имеется ввиду то, что внутреннее представление объекта сокрыто от просмотра вне определения объекта.” — Википедия

Вся внутренняя реализация объекта недоступна извне. Только сам объект может взаимодействовать со своими внутренними данными.

Для начала нам нужно понять как работают публичные и не-публичные переменные и методы.

Публичные экземпляры данных

Для Python-класса мы можем инициализировать публичный экземпляр переменной внутри нашего конструктор-метода. Давайте посмотрим:

Здесь мы применяем значение first_name как аргумент для публичного экземпляра переменной.

Здесь нам не нужно применять first_name как аргумент, а все экземпляры объектов будут иметь заранее прописанный атрибут класса. В нашем случае first_name будет заполнено строкой “ТК.

Круто. Теперь мы узнали как можно использовать публичные экземпляры переменных и атрибуты класса. Ещё одна интересная особенность публичных данных в том, что мы можем управлять значениями переменных. Что я имею в виду под этим? Наш объект может управлять значением переменной: получать и устанавливать значения переменной.

Помня о классе person зададим значение для переменной first_name

Вот и всё. Мы просто задали другое значение(kaio) экземпляру переменной first_name и оно обновилось. И всё на этом. Поскольку это публичная переменная, то мы можем делать это так.

Не-публичные экземпляры данных

Мы не используем термин “приватный”, поскольку в Python нет действительно приватных атрибутов(если только не задаваться тяжёлой целью создать их). — PEP 8

Точно так же, как с публичными экземплярами переменных, мы можем объявить и не-публичные экземпляры. Оба внутри конструктор-метода или внутри класса. Синтаксис несколько отличается: не-публичные экземпляры переменных должны начинаться с нижнего подчёркивания(“_”) перед именем переменной.

“‘Приватный’ экземпляр данных, доступ к которому открыт только изнутри, не существует в Python. Тем не менее, есть условность, которая выполняется в большей части Python-кода: имена с префиксом “_”(например, “_spam”) должны обрабатываться как не-публичные части API(будь то функция, метод или какие-то данные)” — Python Software Foundation

Увидели переменную email? Вот так мы описываем не-публичную переменную:

Мы имеем доступ и может обновить это. Не-публичные переменные это условность, при которой эти переменные обрабатываются как не-публичная часть API.

Таким образом мы создаём метод, который позволяет нам вносить изменения внутри определения класса. Давайте реализуем два метода(email и update_email), чтобы понять это:

Теперь мы имеем доступ и можем обновить значения не-публичных переменных используя эти методы. Посмотрим:

  1. Мы объявили новый объект, в котором first_name заполнено строкой “ТК” и email заполнено строкой “tk@mail.com”
  2. Выводим email получая доступ к не-публичной переменной через метод
  3. Пробуем задать новый email извне нашего класса
  4. Нам нужно обращаться в не-публичной переменной как к не-публичной части API
  5. Обновляем нашу не-публичную переменную с нашим методом экземпляра
  6. Успех! Мы можем обновить это внутри нашего метода с помощью метода-помощника

Публичные методы

Публичные методы мы тоже можем использовать вне класса:

Давайте протестируем это:

Прекрасно. Мы можем использовать это без каких-либо проблем.

Не-публичные методы

Но не-публичные методы мы не можем использовать так просто. Давайте реализуем тот же класс Person, но теперь метод show_age станет не-публичным с нижним подчёркиванием.

А теперь попробуем вызвать этот не-публичный метод с помощью нашего объекта:

У нас есть доступ и мы можем обновить это. Не-публичные методы это просто условность, при которых они обрабатываются как не-публичная часть API.

Здесь пример того, как мы можем использовать это:

Здесь у нас есть не-публичный метод _get_age и публичный метод show_age. show_age может использоваться нашим объектом(вне класса), в то время как _get_age используется только внутри определения нашего класса(внутри метода show_age). Но опять же, в виду условностей.

Вывод об инкапсуляции

С помощью инкапсуляции мы можем убедиться, что наша внутренняя реализация объекта сокрыта от внешних манипуляций.

Наследование: поведение и характеристики

Разные объекты могут иметь некоторую схожесть, обладать поведением и характеристиками.

Например, я унаследовал какие-то характеристики и поведение от своего отца. Я получил его глаза и волосы в качестве своих характеристик, а его нетерпеливость и интровертность в качестве своего поведения.

В объектно-ориентированном программировании классы могут наследовать простые характеристики(данные) и поведение(методы) от других классов.

Давайте посмотрим другой пример и реализуем его в Python.

Представьте машину. Количество колёс, сидячих мест и максимальная скорость — всё это атрибуты машины. Мы можем сказать, что класс электромашины наследует эти схожие характеристики от обычного класса машины.

Наш класс машины реализует:

Один раз реализовав, мы можем использовать все созданные экземпляры переменных. Неплохо.

В Python, мы применяем класс-родитель к нашему классу-наследнику как параметр. Класс электромашины может наследоваться от класса машины.

Вот так просто. Нам не нужно реализовывать какой-либо другой метод, потому что этот класс уже имеет его(унаследовав от класса машины). Давайте докажем это:

Что дальше?

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

1. Определитесь с тем, что бы вам хотелось создать. Выделите себе время для занятий, составьте себе четкий план действий и следуйте ему безукоризненно!

2. Ищите и изучайте в интернете статьи и примеры кода похожих программ на Python. Просто введите в поисковую строку запрос: "Как написать игру на Python?". Скачивайте и изучайте код программ. Ищите объяснения всех непонятных вам команд, задавайте вопросы людям, которые создавали эти программы.

3. Помните, ключ к успеху в любом деле — практика! Никогда не копируйте чужой код — перепечатывайте. Чем больше и чаще вы пишите программы собственными руками, тем быстрее сформируете навык, запомните синтаксис, станете реже допускать ошибки. Помните, с ошибками и трудностями сталкиваются все программисты — относитесь к ним как интересным задачам, уровням игры, которые нужно пройти! Только с практикой программирование превратится для вас в сплошной поток творчества и удовольствия!

Ниже мы подобрали для вас полезные ресурсы, курсы и книги, которые помогут вам или вашим ученикам продолжать совершенствовать свои навыки программирования и знания языка Python, полученные на данном мастер-классе.

Бесплатные подробные онлайн-курсы для изучения Python (для начинающих) на русском языке:

Официальный сайт Python (на английском языке)

Весь мир и последние новости в мире языка Python. Официальная документация, версии, редакторы кода для разных операционных систем, ссылки на сообщества программистов Python по всему миру, база знаний.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *