Экспресс-курс по Python: Лекция №1 Знакомство и первая программа

Установить интерпретатор языка Python можно бесплатно с официального сайта www.python.org. Но мы рекаомендуем установить Anaconda, которая включает в себя не только сам Python, но и все необходимые нам математические библиотеки. После установки Anaconda для работы с Python необходимо использовать Spyder, который входит в установочный пакет. Наберите простейшую программу:

  1. print("Hello, World!")

Сохраните текст программы в отдельном файле "File|Save As...", например, под именем "hello.py", и нажмите F5 или выберите в меню "Run|Run Module". В результате в окне оболочки Python Вы увидите результат работы программы.

Программу можно запускать и без открытия оболочки, для этого просто щелкните по файлу "hello.py" однако скорее всего Вы увидите только мелькнувшее черное окно, поскольку программа запустилась в терминале и после выполнения сразу же закрылась. Добавим в нашу программу одну строку, которая предотвратит мгновенное закрытие терминала:

  1. print("Hello, World!")
  2. input("Нажмите Enter для завершения сеанса...")

Hello, World!
Нажмите Enter для завершения сеанса...

Кстати, команда input используется для ввода данных с клавиатуры. Вот пример использования этой команды:

  1. print("Hello, World!")
  2. name = input("Как Вас зовут? > ")
  3. print("Привет, " + name)
  4. input("Нажмите Enter для завершения сеанса...")

Hello, World!
Как Вас зовут? > Роман
Привет, Роман

В команда input возвращает строку, которую ввел пользователь. Мы этот результат сохраняем в переменной name. Сразу же отметим следующие факты о языке Python. Во-первых, переменные не нужно заранее объявлять и фиксировать их тип. Во-вторых, имена переменных зависят от регистра name и Name будут разными переменными. В-третьих, операция конкатенации (объединение) строк осуществляется через "+". Отметим еще замечания по синтаксису Python: в отличие от языков C/C#/PHP в конце строки точка запятой не ставится, но и не стоит несколько операторов размещать на одной строке, можно оставлять пустые строки, но делать произвольные отступы в строках с операторами нельзя. Это одна из интересных особенностей синтаксиса языка, о которой мы еще поговорим подробно.

Да, комментарии создаются символом #. Добавим в нашу программу комментарии, которые никак не сказываются на функционировании программы:

  1. # Наша первая программа
  2. # поприветствуем весь мир!
  3. print("Hello, World!")
  4. # запросим имя пользователя
  5. name = input("Как Вас зовут? > ")
  6. # поприветствуем пользователя
  7. print("Привет, " + name)
  8. # предотвращаем мгновенное закрытие программы
  9. input("Нажмите Enter для завершения сеанса...")

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

  1. # запросить входные значения
  2. a = float(input("Введите величину целого > "))
  3. b = float(input("Введите величину части > "))
  4. # проверить, не равно ли целое нулю?
  5. if a != 0:
  6. # вычислить сколько процентов
  7. c = (b / a) * 100
  8. print("Данная часть - это " + c.__str__() + "%")
  9. else:
  10. print("Нельзя вычислить часть от нуля")
  11.  
  12. # предотвращаем мгновенное закрытие программы
  13. input("Нажмите Enter для завершения сеанса...")

Введите величину целого > 5
Введите величину части > 3
Данная часть - это 60.0%
Нажмите Enter для завершения сеанса...

В строках 2-3 мы запрашиваем входные значения. Поскольку функция input возвращает строку, то ее нужно конвертировать в числовой тип. Основные числовые типы - это int для целых значений и float для дробных значений. функция float(s) конвертирует строку s в число, дробное число, которое эта строка представляет. Если строка не может быть корректно конвертирована в число, возникает ошибка и выполнение программы прекращается. Чтобы конвертировать в целое число нужно использовать функцию int(s). На 8-ой строке мы пишем c.__str__(). В результате числовая переменная c конвертируется в ее текстовое представление. Поскольку все переменные в Python являются на самом деле классами, то они обладают некоторыми встроенными методами. Одним из этих методов является метод __str__(), который значение любого класса (переменной) может конвертировать в некоторое текстовое представление. Но об этом мы еще подробно будем говорить.

Обратим внимание на оператор if. В отличии от синтаксиса C-подобных языков условие не заключается в скобки, а после него следует двоеточие ":". Еще более интересное отличие состоит в том, что блок кода, который выполняется в результате условного оператора выделяется не синтаксическим конструкциями типа "{}", а отступами. В качестве отступов могут быть пробелы, либо знаки табуляции. Количество пробелов значения не имеет, но обычно используют 4 пробела или одну табуляцию. Таким образом, в языке Python синтаксическое значение имеет не только буквы и символы, но и отступы. Такое решение может показаться странным, но в реальности оно позволяет существенно снизить многословность и увеличить читаемость кода. Также обратите внимание на конструкцию else, которая также кончается двоеточием, а соответствующий блок также выделяется отступами.

Рассмотрим еще конструкцию, которая позволяет выбирать действие в зависимости от значения переменной. В C-подобных языках программирования для этого используется оператор switch, но в Python такого оператора нет, но для этого используется оператор elif. Сразу приведем пример использования этой конструкции:

  1. a = int(input("Введите число от 1 до 3 > "))
  2. if a == 1:
  3. print("один")
  4. elif a == 2:
  5. print("два")
  6. elif a == 3:
  7. print("три")
  8. else:
  9. print("число не 1, 2, 3")

Введите число от 1 до 3 > 2
два

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

Условия в условном операторе конструируются с помощью логических операторов: для сравнения значений двух переменных используется оператор "==", операторы ">", "<", ">=", "<=" суть "больше", "меньше", "большие или равно", меньше или равно". Логические операторы "И", "ИЛИ", "НЕ" выглядят следующим образом: "x and y", "x or y", "not x".

В конце первой лекции упомянем еще о том, что если строка кода получается слишком длинной, то для того, чтобы ее перенести на следующую строку необходимо использовать символ "\" в конце строки, при этом следующую строку можно делать с любыми отступами:

  1. if (a == 1) or ((b < 2) and (c > 3)) \
  2. ((d != 4) and (e >= 5)):
  3. print("Сложное условие выполнено")

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

Home | Лекции | Python | Видео | Скачать | Ссылки
Copyright (c) 2017, Roman Shamin
146
43526
77