Сегодня в ваших телефонах больше вычислительной мощности, чем в компьютерах космических кораблей, на которых я совершал полеты в космос.
Если этих компьютеров и программ хватало для покорения космоса, только представьте, что можете сделать вы, написав свои программы сегодня.
Высокие технологии делают нашу жизнь лучше, интереснее и безопаснее. Каждый, кто желает заниматься чем-то интересным и полезным в современном мире, должен с ними дружить. И мне кажется, изучение программирования по книгам, таким как эта, – один из лучших способов это сделать.
Жан-Лу Кретьен
Первый европеец, вышедший в открытый космос, астронавт NASA, Герой Советского Союза.
В этой книге четырнадцать глав. Двенадцать из них посвящены основам программирования на Python. А тринадцатая содержит Ваш финальный проект (и о нем чуть позже)
Если Вы пройдете все тринадцать глав, то получите крепкие базовые навыки в программировании на Python. Научитесь писать не сложный код, и подготовитесь к финальному проекту, который ждет Вас в конце этой книги.
В этом проекте, Вы создадите собственную программу для бортового компьютера космического корабля. И эта программа отвечает за стыковку корабля с космической станцией.
Стало интересно? :) Тогда продолжим!
Главы этой книги расположены по мере роста сложности: от простого к более сложному.
Если Вы хотите пропустить какую-то главу, Вы, конечно можете это сделать. Но Вы должны знать, что каждая такая глава содержит информацию, необходимую для прохождения следующей главы.
Поэтому советую идти по порядку, и ничего не пропускать :)
Все четырнадцать глав можно пройти залпом за несколько часов. Но, очень рекомендую разделить обучение на ежедневные, небольшие уроки. Хотя бы по 15–30 минут в день.
Если Вы действительно хотите научиться программировать на Python, то лучше учиться этому ежедневно, и понемногу. Чем раз в неделю с утра и до вечера.
Есть еще кое-что. В каждой главе есть готовый код для примера. Я очень рекомендую экспериментировать и создавать свои версии кода, как только вы освоите эти примеры.
Просто меняйте код и наблюдайте за тем, как он влияет на результат работы программы. Так Вы быстрее научитесь программировать.
Примеры кода будут частично на русском. А позже, когда мы перейдем к изучению классов и объектов, уже полностью на английском.
Не бойтесь, знания английского для этого курса вам не нужны.
Но, для того чтобы быть полноценным программистом, в будущем Вам будет необходимо владеть английским, хотя бы базовым.
Вы ведь хотите работать в Google? Эммм? Не хотите? Но знать английский все равно придется.
Работая по этой книге, Вам не нужно устанавливать и настраивать никаких редакторов кода.
Просто заходите на PythonOnline.kz. Там Вы можете писать, запускать, проверять и даже скачивать Ваш код на компьютер. Используя встроенный компилятор.
Компилятор PythonOnline.kz был создан для того, чтобы Вы не заморачивались на установке и настройке редакторов кода, а могли сразу приступить к программированию.
В этой книге я могу называть этот компилятор разными словами: редактор, консоль, компилятор. Это все одно и тоже.
Читая код в этой книге, пожалуйста обратите внимание на несколько нюансов:
Точки в начале некоторых строк кода указывают на отступы. Эти точки только в книге, и нужны они только для корректного отображения отступов. Вам не нужно ставить ни точки, ни отступы в своем коде, так как наш компилятор будет ставить отступы автоматически.
Все, что стоит в коде за знаком # – это комментарии к коду, для Вашего удобства.
Если Вы сейчас что-то не поняли, не волуйтесь. Время от времени, я буду напоминать Вам об этих нюансах, по мере прохождения данной книги.
Очень рекомендую проходить тест в конце каждой главы.
Отвечайте на вопросы в уме. В случае, если в тесте нужно работать с кодом, записывайте, запускайте и проверяйте его на PythonOnline.kz
Если что-то не получается с тестами, Вы всегда можете подсмотреть готовые ответы. Они есть в приложении, в конце книги.
Только не бегите за подсказками сразу! Лучше пройдите тему еще раз. А затем вернитесь к тесту, и перепройдите его.
Здесь нет строгих учителей. И перепроходить тесты можно сколько угодно, пока Вы не останитесь довольны своим результатом.
Python – один из самых простых в освоении, но в то же время один из самых популярных и широко используемых языков программирования во всем мире.
Я бы порекомендовал Python как первый язык программирования всем, кто хочет научиться программировать.
Почему?
У Python чистый, минималистичный синтаксис. И это упрощает написание и чтение кода.
Например, для того, чтобы написать небольшую программу на Python, Вам может потребоваться всего несколько строчек кода.
А для того, чтобы написать такую же программу, скажем, на Java или C++, Вам придется писать куда больше кода.
Именно поэтому, на технических собеседованиях в Google или еще куда, Вам позволят решать задачи на Python. Даже если Вас рассматривают на позицию разработчика Java или C++ и тд.
Python – это высокоуровневый язык программирования. Это означает то, что он автоматизирует многие процессы, такие, как управление памятью.
А это, в свою очередь, поможет Вам сосредоточиться на основных задачах, пока Вы пишите код.
Python чрезвычайно популярен в реальном мире. Возьмите для примера IT-гигантов, таких, как: Google, Apple, Netflix. Все они используют Python в повседневных задачах, связанных с обработкой данных, работой нейронных сетей, и других важными для этих компаний процессов.
Python, действительно, универсален. Он отлично работает не только для математических задач, связанных с данными. Но и для веб-приложений, видеоигр, и, вообще, чего угодно. И это благодаря огромному выбору расширений и библиотек, доступных для Python. Об этом Вы узнаете более подробно в четырнадцатой главе.
Наконец, у Python есть преданное и постоянно растущее сообщество разработчиков. Это означает, что количество сфер и задач, где применяется Python, будет только расти.
Ну, а про зарплаты программистов на Python, их карьерные возможности и спрос, я просто промолчу. Об этом уже итак с каждого угла крикнули :)
На этом все. Желаю Вам приятного обучения, и увидимся в следующей главе!
Любая, даже самая продвинутая программа на Python, начинается с первой строки кода.
Вот пример простой программы, которая состоит всего из одной строки. Все, что она делает, это выводит сообщение: “Привет! Это моя первая строка кода!”
Впишите эту строчку в компилятор, и запустите код:
print("Привет! Это моя первая строчка кода!")
Если Вы все сделали правильно, то компилятор ответит Вам вот таким сообщением:
“Привет! Это моя первая строка кода!”
Получилось? Поздравляю с первой строчкой кода!
И даже если Вы пока не понимаете что к чему, не волнуйтесь. Мы все разберем и узнаем по ходу прохождения книги. А пока продолжим!
Даже если Вы написали всего одну строчку кода, как в предыдущем разделе, Вы написали программу.
Такую же программу, как и те, что запускаются с компьютера или смартфона.
Но, что такое программа? Программа – это набор инструкций и правил для компьютера, написанный на языке программирования.
Если с этим все понятно, давайте продолжим и закрепим то, что мы пока узнали.
Вот код, который я перемешал:
"Илон Маск ест пингвинов!" () print
Впишите его в компилятор так, чтобы он заработал. Выполнив прошлую задачу, Вы сможете выполнить и эту.
Если Вы все сделали правильно, то вот, что вам ответит программа:
“Илон Маск ест пингвинов!”
Справились с задачей? Отлично!
В обеих программах, которые мы только что создали, мы использовали функцию print (печать).
В этой книге мы часто будем ее использовать. Но, для начала, давайте познакомимся с ней поближе.
Функция print делает именно то, чем она и называется. Она “печатает” текст на экране.
Программисты используют эту функцию для того, чтобы показывать сообщения пользователям программы.
Например, «Пожалуйста, войдите в систему, используя пароль» или «Ваш пароль слишком слабый, используйте более надежный пароль» и т. д.
Функция print выводит не только текст, но и результаты вычислений, представленные в виде цифр и чисел.
Об этом мы поговорим немного позже. А пока, давайте еще немного потренируемся с выводом текста.
Вот вам текст:
Эй! Я продолжаю кодить!
Впишите его в компилятор вместе с функцией print, так, чтобы программа вывела такое же сообщение на экран.
Вот, что у вас должно получиться:
“Эй! Я продолжаю кодить!”
Все получилось? Отлично! Теперь, когда Вы умеете выводить сообщения на экран, используя функцию print, Вы можете поэкспериментировать и повеселиться со своими сообщениями.
Придумайте что угодно, любые сообщения. Добавьте к сообщениям цифры и числа.
А еще, попробуйте добавить или удалить что-нибудь из своего кода. И посмотрите, что произойдет. Это лучший способ узнать, как работает Ваш код.
Как только Вы запускаете код, компьютер начинает читать его построчно, сверху вниз. Точто также, как Вы сейчас читаете эту книгу.
Это может показаться не важным, но это следует учитывать при написании и организации нашего кода.
Вот почему некоторые элементы, такие как модули (мы изучим их позже), находятся в верхней части кода.
Мы всегда импортируем их сверху нашего основного кода. А затем вызываем эти модули, спускаясь ниже, строчка за строчкой.
Давайте создадим программу, которая считает от 1 до 3. Вот код, который нам для этого нужен:
print("1")
print("2")
print("3")
Впишите этот код в компилятор и запустите его.
Программа сосчитала до трех? Довольно просто, правда? Теперь расширьте код, чтобы программа смогла сосчитать до 10.
Получилось? Программа считает до десяти? Отличная работа!
Давайте отметим завершение первой главы небольшим испытанием.
Все, что Вам нужно сделать, это вывести это сообщение на экран:
Программировать на Python легко!
Ну как? Смогли? Я и не сомневался в Вас. Программировать на Python действительно не сложно. А теперь к итогам!
В первой главе Вы выполнили следующее:
1. Узнали, что такое Python;
2. Узнали, что такое программа;
3. Поняли, как Python читает код;
4. Написали первую строчку кода;
5. Создали несколько простых программ;
6. Научились использовать функцию print.
Я Вас поздравляю! Теперь Вы готовы ко второй главе – Переменные. Давайте приступим к ней!
1. Компьютерная программа – это:
1. Набор инструкций и правил для компьютера, написанный на языке программирования.
2. Кусок кода, написанный на компьютере.
3. Загружаемая игра.
2. Как сделать так, чтобы компьютер вывел сообщение на экран?
1. Используя волшебное слово.
2. Используя функцию print().
3. Используя команду «Показать сообщение!»
3. В каком порядке компьютер обрабатывает (считывает) код?
1. Компьютер считывает код построчно. Сверху вниз.
2. Компьютер считывает код построчно. Снизу вверх.
3. Компьютер ничего не считывает; Он все помнит наизусть.
4. Расположите фрагменты кода так, чтобы программа отображала сообщение «Я люблю Python!»
1. )
2. (
3. "Я люблю Python!"
4. print
Переменные в Python создаются просто. И в этой главе Вы с легкостью научитесь создавать и применять их в своем коде.
Итак, приступим.
Переменная – это простой тип данных, у которого есть имя и значение. Переменные нужны для того, чтобы хранить в них информацию.
Давайте объясню на примере.
Представьте себе машину. В нашем случае машина является переменной. Название переменной – машина.
У машины есть марка – Tesla. Это значение переменной.
Таким образом, переменная (машина), хранит информацию о марке машины – Tesla.
Вот, как эта переменная выглядит на языке Python:
машина = "Tesla"
Давайте разберем все по порядку:
Сначала мы дали нашей переменной имя – машина.
Затем выставили знак равенства =
И наконец, мы присвоили нашей переменной значение “Tesla”
Значение переменной всегда ставится в кавычки, как в нашем примере. Иначе переменная работать не будет.
Теперь, когда мы поняли, что такое переменная, и как ее прописать, давайте создадим нашу первую переменную, и выведем ее на экран!
Для начала давайте запишем нашу переменную из примера выше в компилятор и запустим его:
машина = "Tesla"
Ничего не произошло? Все верно. Ведь переменная – это не сообщение, а всего лишь тип данных.
Для того, чтобы вывести переменную на экран, нам придется использовать функцию print, с которой Вы уже знакомы.
Вот, как мы это сделаем. Запишите следующий код в компилятор и запустите его:
машина = "Tesla"
print(машина)
Если Вы все сделали правильно, компилятор вернет вам значение переменной – Tesla.
А теперь давайте разберем код по порядку:
Сначала мы объявили переменную и дали ей имя – машина.
Затем мы присвоили переменной значение – “Tesla”.
Затем на второй строке мы прописали функцию print, и передали в эту функцию имя нашей переменной, поместив его в скобки функции.
Каждый раз, когда мы создаем переменную, и передаем ее имя функции print, эта функция будет выводить значение переменной на экран, как в нашем примере.
Кстати, если имя Вашей переменной состоит из более, чем одного слова, тогда Вам необходимо соединить эти слова нижним подчеркиванием. Например: моя_машина.
Однако, советую называть Ваши переменные только одним словом. Это обычная и корректная практика в работе с переменными.
Ну вот, теперь Вы знаете, как программисты создают и выводят переменные в Python на экран.
Совсем не сложно, правда?
А теперь давайте немного потренируемся. Ниже приведен код, в котором кое-чего не хватает. Вам надо это исправить так, чтобы программа могла создать переменную и отобразить ее значение.
= " "
()
К этому моменту у Вас должно быть достаточно знаний и навыков для выполнения этого легкого задания.
Как только Вы справитесь с этим заданием, потренируйтесь еще немного. Вы можете изменить имя и значение переменной. Добавить и вывести больше новых переменных на экран.
Чем больше повторений Вы выполните, тем лучше закрепите и отточите полученные навыки!
Во второй главе Вы выполнили следующее:
1. Узнали, что такое переменные;
2. Научились создавать переменные в Python;
3. Научились выводить значения переменных на экран.
Отличная работа! Переходим к третьей главе – Числа. Обещаю, никакой скучной математики! Приступим.
1. Для чего нужны переменные?
1. Переменные нужны для хранения информации.
2. Переменные нужны для изменения информации.
3. Переменные нужны для извлечения или удаления информации.
2. Если имя переменной состоит из двух и более слов, Вы должны соединить их с помощью:
1. Нижнего подчеркивания.
2. Пунктирной линии.
3. Никак, это нормально – слепить все слова в одно.
4. Нужно прописать слова слитно, с большой буквы.
3. Мы можем вывести переменную на экран следующим образом:
1. Используя функцию print и поместив команду print в скобки.
2. Используя функцию print и поместив значение переменной в скобки.
3. Используя функцию print и поместив имя переменной в скобки.
4. Расположите фрагменты кода в правильной последовательности, чтобы получилась переменная, которая выводит "Илон" на экран.
1. (имя)
2. имя
3. =
4. print
5. "Илон"
Числа в Python, как и в обычной школьной математике бывают целые и дробные (их еще называют вещественными)
И если Вы не часто прогуливали уроки, то уверен, Вы знакомы с целыми числами, например, 5 или 10. А еще Вы знакомы с дробными числами, такими как 5.5 или 10.7, верно?
В программировании целые числа называют integer, а дробные – float.
Ну так вот, Python прекрасно работает и с целыми, и с дробными числами.
А еще Python отлично работает с математическими операторами. Давайте вместе на них посмотрим.
Python прекрасно справляется с вычислениями. Для этого он применяет вот такие математические операторы:
Сложение: +
Вычитание: –
Умножение: *
Деление: /
Давайте теперь немного поработаем с этими операторами и числами.
Для начала давайте создадим переменную под названием результат, и присвоим ей значение 2+2.
Затем выведем результат на экран. Вот как это будет выглядеть:
результат = 2+2
print(результат)
Запишите этот код в компилятор, и запустите его.
Что получилось? Верно, получилось четыре.
А теперь, используя тот же код, вычтите 5 из 10, используя оператор вычитания.
Запускайте код.
Пятерка есть? Отлично.
Теперь давайте умножим 5 на 5, используя оператор умножения.
Двадцать пять получилось? Прекрасно.
Наконец, давайте разделим 10 на 2, используя оператор деления.
Что получилось? 5.0? Верно. Вы только что выполнили деление с остатком. Поэтому в результате у нас вышло дробное число.
А теперь давайте поговорим о делении без остатка.
Итак, в прошлом примере у нас получилось дробное число (float).
Но, что если нам нужно получить целое число (integer)?
Это довольно просто. Для того, чтобы получить целое число при делении, все, что нам нужно сделать, это применить двойной оператор деления – //
Попробуйте сами, замените оператор деления на двойной оператор деления в нашем предыдущем примере, и запустите код:
результат = 10//2
print(результат)
Если Вы все сделали правильно, то увидите integer равный 5
Python делает вычисления точно в таком же порядке, какому Вас учили в школе.
Посчитайте в уме вот такой пример:
(5+5)*3
А затем впишите его в компилятор и запустите код:
результат = (5+5)*3
print(результат)
Вот как Python будет его решать:
Сначала Python вычислит все, что находится в скобках. Сделает он это в таком порядке: сначала умножение, затем деление, затем сложение, затем вычитание.
После этого, Python вычислит все, что находится за скобками. Сделает он это в том же порядке, что и выше (умножение, деление, сложение, вычитание).
Следовательно, Python сложит 5 и 5, что даст 10. И умножит 10 на 3, что даст 30.
Ну как, совпали Ваши результаты?
Хорошо! Тогда идем дальше.
Как Вы уже заметили, работая с числами и математическими операторами в Python, мы также использовали переменные и функцию print.
Заметили, да?
Так вот, давайте теперь закрепим то, что мы сделали:
Во-первых, мы объявили переменную, дав ей имя «результат» и значение «(5+5)*3»;
Затем мы спустились на одну строку вниз, прописали функцию print, и передали ей имя нашей переменной;
Когда мы запустили код, Python вычислил (5+5)*3, получил 30, и присвоил это значение переменной «результат»;
Наконец, Python увидел функцию print с аргументом (результат), и понял, что надо вывести на экран значение переменной результат, которое как мы уже поняли равно 30.
Как видите, Python отлично комбинирует числа, математические операторы, переменные и функции.
А теперь давайте еще немного попрактикуемся и создадим свои примеры с числами и переменными, которые похожи на те, что мы только что использовали.
Вот несколько шаблонных примеров для Вас:
результат = 2+2
print(результат)
результат = 10–5
print(результат)
результат = 5*5
print(результат)
результат = 10/2
print(результат)