Вползаем в айти. Часть 2. Болтовня с питоном

Всем привет!

Это мой второй пост, с первым можно ознакомиться тут

http://pikabu.ru/story/vpolzaem_v_ayti_python_dlya_nachinayu...

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

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

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Про интерактивную среду расскажу чуть подробнее в следующем посте, но в целом к концу поста у вас уже появится общее понимание. В общем, будем чатиться в терминале с нашим питоном :-)


Итак, в ответ на наше "python" мы видим уголочки. Тремя уголками нас стандартно приветствует интерпретатор. Он будет выслушивать - то есть, интерпретировать все наши просьбы, выполнять их и говорить что-то в ответ. Пока он ждет от нас первых указаний, давайте отвлечемся и немного погрузимся в теорию.

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

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

1. Целое число - обозначается словом int

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
2. Нецелое число - обозначается словом float. В других языках часто встречаются дополнительные типы для нецелых чисел, которые, грубо говоря, позволяют хранить разное число знаков после запятой. В питоне такого нет. float достаточно точен. Выбирать ничего не нужно. Простота во всем :-)
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Важно - если мы решим поделить одно целое число на другое, то в результате мы можем получить дробное, то есть, нецелое число.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

То есть, у нас был int и int, а на выходе мы получили float. Это кажется очевидным, но если вдруг кто-то уже изучал другие языки, с этим может быть путаница. Во многих языках результат округляется до целого вниз. То есть, здесь мы могли бы получить 1. Давайте порадуемся, что мы учим питон, и тут такой фигни нет.


3. Строчка - обозначается словом str.

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Я ставлю одинарные кавычки, но также можно использовать двойные, разницы между ними в питоне нет (но, для расширения кругозора - в большинстве языков в одинарные кавычки кладут одинокий символ, а в двойные - целый текст. Но к нам это, повторюсь, не относится). А вот если кавычки совсем не поставить, то мы получим ошибку, которую еще обсудим чуть ниже. В общем, не надо так.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Типов на самом деле сильно больше, но мы продолжим их разбор как-нибудь потом, а сегодня наконец вернемся к нашему терпеливо ожидающему терминалу. Мы можем скармливать питону все, что угодно, как я уже делала на скринах выше. Но смысла в этом особого нет. Он просто возвращает нам то же самое.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

А тут не вернул. Потому что он знает ответ на Главный вопрос жизни, Вселенной и всего такого.

К сожалению, нет. Но понадеяться стоило :-)


Мы всего лишь объявили свою первую переменную. Питон запомнил, что у нас есть answer, и в там лежит 42. Мы можем обращаться к нашей переменной, писать answer, на это место будет подставляться 42. Давайте посчитаем что-нибудь.

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Имя переменной может быть почти любым, но первый символ не должен быть цифрой. Не используйте в названии знаки препинания, иначе компьютер совсем запутается. Вместо пробелов в названии можно использовать нижнее подчеркивание.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Я знаю, пикабушники не особо жалуют английский, но в программировании без него никуда. Лучшие статьи и самые актуальные исследования всегда описываются на английском языке. Даже, когда их делают наши соотечественники. Так что старайтесь постепенно расширять свой кругозор. Хорошая новость состоит в том, что можно совсем не знать грамматики, иметь маленький специфический словарный запас - этого будет достаточно для бытия программистом. Я иногда торможу в бытовых разговорах за границей, но статьи о программировании читаю бегло. На мой взгляд, технический английский проще бытового. Если нужно, я могу написать отдельный пост с коротеньким словариком - около 20 слов, которые будут встречаться постоянно. Пишите в комментариях, если вам это интересно)
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Когда мы узнали, что такое переменная, нам легче понять ошибку, которую я показывала выше. Интерпретатор ругался на нас, так как искал переменную с таким именем, а ее у нас не было. Это надо запомнить: В кавычках мы пишем текст, без кавычек - имя переменной.


Значение нашей переменной изменится, только если она стоит СЛЕВА от знака равно.

Я до этого показывала пример, писала answer + 100. answer - по-прежнему 42

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Теперь я хочу изменить значение переменной. Например, на 60.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Сначала вычисляется то, что стоит справа, затем записывается налево.

Тут подставляется 60, 60 + 20 = 80. Итого в answer запишется 80.

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
К чему обычно особенно сложно привыкнуть новичкам - постоянное изменение значения переменных. Ну, вот было у нас answer 42, потом стало 60, теперь оно 80. Первое время будет сложновато за этим следить, но терпите. Постепенно вы привыкнете.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Я, кроме шуток, открываю интерпретатор почти ежедневно. И это не связано с моей работой. На самом деле, интерпретатор - это отличный калькулятор! В отличие от большинства калькуляторов, он знает правила математики, тут можно ставить скобки, считать синусы, логарифмы и еще много всего. Правда, для синусов нужна магическая строчка

from math import *

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Смысл магической строчки мы разберем чуть позже, но даже так понятно, что мы что-то взяли из математики. И, на мой взгляд, это прекрасно. :-)

Чтобы пользоваться всеми математическими функциями, необязательно искать описание в интернете - просто напечатайте так, как вам интуитивно кажется правильным. Скорее всего, вас поймут. Поэкспериментируйте. Из нелогичного - для возведения числа в степень используются две звездочки:

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
Что мне кажется также очень полезным, питон имеет встроенную длинную арифметику. Это значит, что мы можем считать что-то безумное, и получать наш честный безумный результат в ответ.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост
И снова - почему же я так этому удивляюсь? В других языках числа ограничены в своих размерах. Для работы с числом более 4 миллиардов обычно уже стоит задуматься, а если число еще больше - то начинается вообще куча проблем. Давайте снова порадуемся, что мы учим питон, и нас это не касается. Числа, кроме шуток, могут быть самых невменяемых размеров.
Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Конечно же, можно совместить все, что мы узнали за сегодня, в подсчетах можно сохранять важные результаты в переменные, и затем использовать их заново. Это очень полезно для мат.статистики или какой-нибудь бюрократической фигни. Я недавно считала таким образом налоги.


Я надеюсь, вам понравился пост.

Несколько человек посоветовали мне выбрать иную тематику, рассказывать про алгоритмы и математику. Мне самой жутко интересны соседние темы, включая также устройство компьютера. И я в любом случае планировала периодически отвлекаться на смежные области. Питон - лишь инструмент, не более того. Но - без умения запрограммировать изученное, ни один алгоритм ничего не стоит. Так что продолжайте читать мои посты, сперва научимся основам программирования, а затем будем их использовать для изучения других крутых штуковин.

Вползаем в айти. Часть 2. Болтовня с питоном Python, Программирование, Урок, Новичок, Хобби, Длиннопост

Видеоверсия (немного другая, но смысл примерно тот же):

https://www.youtube.com/watch?v=5Rr2QdZ_AvQ

2
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
3
Автор поста оценил этот комментарий
Что мне кажется также очень полезным, питон имеет встроенную длинную арифметику. Это значит, что мы можем считать что-то безумное, и получать наш честный безумный результат в ответ.

3.14**1000

Traceback (most recent call last):

File "<pyshell#2>", line 1, in <module>

3.14**1000

OverflowError: (34, 'Result too large')

1. Целое число - обозначается словом int
2. Нецелое число - обозначается словом float.
3. Строчка - обозначается словом str.

Такого понятия ни в одном яп нет.

Питон имеет тип "Числа" с приобразованием целых в вещественные, комплексные и обратно. int/float отдельная тема ООП в этом языке.

В отличие от большинства калькуляторов, он знает правила математики

>>> 0.1 + 0.2

0.30000000000000004

ну или

>>> 1/49*49

0.9999999999999999

но также можно использовать двойные, разницы между ними в питоне нет

>>> 'Hello, World!"

SyntaxError: EOL while scanning string literal

раскрыть ветку
2
Автор поста оценил этот комментарий
Вам в прошлом посте посоветовали начать с основ не только программирования, но и вообще компьютера. Вы для детей пишете то? Чтобы изучать алгоритмы не надо знать языки программирования вообще, надо знать математику, логику, булевые выражения. Ну и, с вами в комментах пытались общаться в прошлом посте, вы игнорили своих читателей, тут так же будет?
раскрыть ветку
2
Автор поста оценил этот комментарий

Тут уже и так очень много начальных туториалов. Нужно что нибудь другое.

Автор поста оценил этот комментарий
Что я никак не могу догнать: так почему Python нормально в отдельный исполняемый не конвертируется. Невозможно в универсальную форму программу перевести. Получается все заказчики кода на питоне должны иметь установленный питон. Мой мозг не может это понять
раскрыть ветку