Как начать писать на python
Python с абсолютного нуля. Учимся кодить без скучных книжек
Содержание статьи
От редакции
Недавно мы проводили опрос о том, какой курс по Python был бы интереснее читателям. Две первые строчки с большим отрывом в нем заняли варианты «для хакера» и «Python с нуля». Узнав о таком положении дел, мы немедленно заказали статью о том, как начать программировать на Python. Если она будет иметь успех, то может превратиться в целую серию. Отличие нашего подхода — в том, что мы объясняем все живым языком и даем нескучные примеры. В общем, обучение в фирменном стиле «Хакера»!
И, поскольку это эксперимент, статья доступна без платной подписки.
Если у тебя на компе есть современный дистрибутив Linux, то в него уже входит Python 3, а писать первые программы будет удобно в IDLE — простом редакторе кода, который прилагается к Python. В Ubuntu, чтобы установить его, набери в консоли
В Windows при установке Python обязательно отметь на первом экране установщика галочку Add to Path, чтобы можно было запускать python3 из командной строки в любом удобном месте.
Запустив IDLE, зайди в Options → Configure IDLE, перейди на вкладку General и поставь галочку на пункте Open Edit Window, нажми ОK и перезапусти IDLE. Теперь можно писать программы, сохранять их и запускать клавишей F5. Ну что, погнали?
Переменные
А если изначально неизвестно, какие числа надо складывать? Тогда пришлось бы сперва попросить юзера ввести их в консоли и нажать Enter. Давай так и сделаем:
Внутри скобочек у input ты пишешь пояснение для юзера, что конкретно его просят ввести. Но вот беда, по умолчанию все, что вводится через input, считается не числом, а строкой, поэтому, прежде чем складывать количество литров пива, нужно сначала преобразовать введенные строки в числа с помощью функции int().
Вообще, типов переменных много, но суть ты уловил — чтобы производить с переменными какие‑то действия, нужно их сначала привести к одному типу — к строковому, или к числовому, или еще к какому‑нибудь. Если с этим не заморачиваться, Python сложит не числа, а строки и введенные 2 и 3 литра пива в сумме дадут не 5, а целых 23. Хорошо бы так было в реальности!
Вот еще примерчик, рассчитывающий, сколько тебе еще пить пиво, исходя из средней продолжительности жизни в России:
Условия
В основе любой программы лежат условия. В зависимости от того, выполняются они или не выполняются, программа может пойти по одному или другому пути. Представь, ты едешь на машине и смотришь на часы: если уже есть десять вечера, то поворачиваешь домой, если нет, то можно заехать в гости. Точно так же работает и программа: проверяет какое‑то значение и сворачивает туда или сюда и выполняет соответствующий кусочек кода.
Блоки кода в Python отделаются отступами. Отступ на самом деле может быть любым, например некоторые предпочитают использовать вместо четырех пробелов клавишу Tab. Главное — не смешивать в одной программе отступы разного типа. Если уж начал использовать четыре пробела, то используй по всей программе, а то Python будет на тебя ругаться и унижать.
Еще один важный момент здесь — это знак равенства в условии. Он пишется как двойное «равно» ( == ) и этим отличается от присвоения — одинарного «равно».
Функция lower(), прежде чем сравнивать условие, делает все буквы в строке маленькими, потому что глупый юзер может ввести слово YES с горящим Caps Lock, и это надо предусмотреть заранее.
На самом деле lower( ) — не просто функция, а метод класса string (строка). Именно поэтому он вызывается через точку после переменной, которая содержит строку. О классах и методах мы поговорим как‑нибудь в другой раз, а пока просто запомни, что некоторые функции вызываются таким образом.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Руководство по изучению Python с нуля с примерами
Питон для новичков
В этом руководстве мы расскажем про основы языка Python, расскажем как его установить, как запускать программы и на примерах разберем все основные темы.
Мы можем использовать кодирование на Python по-разному: здесь блистают наука о данных, автоматизация задач, написание скриптов, веб-разработка и машинное обучение. Quora, Pinterest и Spotify используют Python для своей внутренней веб-разработки. Итак, давайте немного узнаем об этом языке и разберем его основы.
О языке
Что умеет Python?
Почему Python?
Хорошо знать
Синтаксис Python по сравнению с другими языками программирования
Подготовка
Установка Python
На многих ПК и Mac уже установлен Python.
Чтобы проверить, установлен ли у вас Python на ПК с Windows, выполните поиск Python на панели запуска или выполните в командной строке cmd.exe следующее:
Чтобы проверить, установлен ли у вас python на Linux или Mac, то на Linux откройте командную строку или на Mac откройте Терминал и введите:
Если вы обнаружите, что на вашем компьютере не установлен python, вы можете бесплатно загрузить его со следующего веб-сайта: https://www.python.org/
Быстрый старт
Способ запуска файла Python в командной строке выглядит следующим образом:
Сохраните ваш файл. Откройте командную строку, перейдите в каталог, в котором вы сохранили файл, и запустите:
Результат должен быть таким:
Поздравляем, вы написали и выполнили свою первую программу на Python.
Командная строка Python
Чтобы протестировать небольшой объем кода на Python, иногда проще и быстрее всего не записывать код в файл. Это стало возможным, потому что Python можно запускать из командной строки.
Введите в командной строке Windows, Mac или Linux следующее:
Или, если команда python не сработала, вы можете попробовать py :
Оттуда вы можете написать любой Python, включая наш пример hello world из ранее в руководстве:
Которая напишет «Hello, World!» в командной строке:
Когда вы закончите в командной строке Python, вы можете просто ввести следующее, чтобы выйти из интерфейса командной строки Python:
Основы
1. Переменные
Вы можете думать о переменных как о словах, хранящих значение. Вот так просто.
В Python действительно легко определить переменную и присвоить ей значение. Представьте, что вы хотите сохранить номер 1 в переменной под названием one (единица). Давай сделаем это:
Помимо целых чисел, мы также можем использовать булевые логические значения (True или False), строки, числа с плавающей запятой и многие другие типы данных.
2. Поток управления: условные операторы
Обратите внимание, что на после строк с if у нас стоит отступ. Если в других языках программирования отступы в коде предназначены только для удобства чтения, отступы в Python очень важны. Python использует отступ для обозначения блока кода. Тут должен стоять хотя бы один пробел, иначе мы получим ошибку.
Функция print () выводит указанное сообщение на экран.
3. Цикл / Итератор
Еще один базовый фрагмент кода, чтобы лучше его понять:
List: коллекция, массив, cтруктура данных
Представьте, что вы хотите сохранить целое число 1 в переменной. Но, может быть, теперь вы захотите сохранить 2. И 3, 4, 5…
Чтобы было понятнее, мы можем представить массив и каждый элемент с его индексом.
Используя синтаксис Python, также просто понять:
Представьте, что вы не хотите хранить целые числа. Вы просто хотите хранить строки, например, список имен. Он бы выглядел примерно так:
Он работает так же, как и для целых чисел. Отлично.
append делать очень просто. Вам просто нужно применить элемент (например, «The Effective Engineer») в качестве параметра добавления.
Ну хватит о списках. Поговорим о другой структуре данных.
Dictionary: структура данных «ключ-значение»
Теперь мы знаем, что списки List индексируются целыми числами. Но что, если мы не хотим использовать целые числа в качестве индексов? Некоторые структуры данных, которые мы можем использовать, являются числовыми, строковыми или другими типами индексов.
Dictionary иногда ещё называют ассоциативными массивами или хеш-таблицами.
Также как мы узнали, как получить доступ к списку с помощью индекса, мы также используем индексы (ключи в контексте словаря) для доступа к значению, хранящемуся в словаре.
Нам просто нужно присвоить значение ключу словаря. Ничего сложного здесь нет, правда?
Итерация: цикл по структурам данных
Это пример того, как его использовать. Для каждого ключа в словаре мы печатаем ключ и соответствующее ему значение.
Мы видим, что мы использовали атрибут в качестве параметра для ключа словаря, и он работает правильно. Отлично!
Функции
В Python функция определяется с помощью ключевого слова def :
Чтобы вызвать функцию, используйте имя функции, за которым следует скобка:
По умолчанию функция должна вызываться с правильным количеством аргументов. Это означает, что если ваша функция ожидает 2 аргумента, вы должны вызвать функцию с 2 аргументами, не больше и не меньше. Если вы попытаетесь вызвать функцию с 1 или 3 аргументами, то получите ошибку.
Если вы не знаете, сколько аргументов будет передано вашей функции, добавьте * перед именем параметра в определении функции.
Мы можем использовать значение параметра по умолчанию. Если мы вызываем функцию без аргументов, то она не сломается и будет использовать значение по умолчанию:
Вы можете отправить любой тип данных аргумента функции (строка, число, список, словарь), И он будет обрабатываться как тот же тип данных внутри функции.
Например если вы отправите список в качестве аргумента, он все равно будет списком, когда достигнет функции:
Ну и чтобы позволить функции вернуть значение, используйте оператор return :
Пользовательский ввод Python
Python позволяет вводить данные пользователем. Это означает, что мы можем попросить пользователя ввести данные.
Python прекращает выполнение, когда доходит до функции input (), и продолжает выполнение, когда пользователь ввел некоторый ввод.
Обработка ошибок Python
Блок try позволяет вам проверить блок кода на наличие ошибок.
Блок except позволяет вам обрабатывать ошибку.
Обработка исключений
Когда возникает ошибка или исключение, как мы это называем, Python обычно останавливается и генерирует сообщение об ошибке.
Эти исключения можно обрабатывать с помощью оператора try :
Блок try сгенерирует исключение, потому что x не определен.
Поскольку блок try вызывает ошибку, блок except будет выполнен. Без блока try программа выйдет из строя и выдаст ошибку.
Вы можете определить столько блоков исключений, сколько захотите, например если вы хотите выполнить специальный блок кода для особого типа ошибки.
Как разработчик Python сами вы можете создать исключение при возникновении условия.
Вы можете определить, какую ошибку выдавать, и текст, который будет выводить пользователь.
Классы и объекты
Немного теории:
Объекты представляют собой объекты реального мира, таких как автомобили, собаки или велосипеды. У объектов есть две основные характеристики: данные и поведение.
У автомобилей есть данные, такие как количество колес, количество дверей и вместимость. Они также демонстрируют поведение: они могут ускоряться, останавливаться, показывать, сколько топлива осталось, и многое другое.
Мы идентифицируем данные как атрибуты, а поведение как методы в объектно-ориентированном программировании.
Объектно-ориентированное программирование Python
Python как объектно-ориентированный язык программирования имеет следующие концепции: класс и объект.
Имея это в виду, давайте посмотрим на синтаксис Python для классов:
pass это оператор-заглушка, равноценный отсутствию операции. Тут мы используем его потому что еще не указали атрибуты.
Помните, что у нашего класса транспортных средств есть четыре атрибута: количество колес, тип бака, вместимость и максимальная скорость. Мы устанавливаем все эти атрибуты при создании объекта транспортного средства. Итак, здесь мы определяем наш класс для получения данных, когда он их инициирует:
Переменная self представляет текущий объект класса.
Четыре колеса + электробанк + пять сидений + максимальная скорость 250 км/час.
Все атрибуты установлены. Но как мы можем получить доступ к значениям этих атрибутов? Мы отправляем объекту сообщение с вопросом о них. Мы называем это методом. Это поведение объекта. Давайте применим это это:
В Python мы можем сделать это, используя @property (декораторы) для определения геттеров и сеттеров. Посмотрим на код:
И мы можем использовать эти методы как атрибуты, вызывав их через точку:
Но мы также можем использовать методы для других вещей, например, метод make_noise. Давай увидим это:
Когда мы вызываем этот метод, он просто возвращает строку «VRRRRUUUUM».
Инкапсуляция: скрытие информации
Все внутреннее представление объекта скрыто снаружи. Только объект может взаимодействовать со своими внутренними данными.
Переменные общедоступного экземпляра
Для класса Python мы можем инициализировать общедоступную переменную экземпляра в нашем методе конструктора.
Здесь мы применяем значение first_name в качестве аргумента к общедоступной переменной экземпляра (public instance variable).
Непубличная переменная экземпляра
В качестве общедоступной переменной экземпляра мы можем определить непубличную (non-public) переменную экземпляра как внутри метода конструктора, так и внутри класса. Разница в синтаксисе: для закрытых переменных экземпляра используйте символ подчеркивания _ перед именем переменной.
«Частные» переменные экземпляра, к которым нельзя получить доступ, кроме как изнутри объекта, в Python не существует. Однако существует соглашение, которому следует большая часть кода Python: имя с префиксом подчеркивания (например, _spam ) должно рассматриваться как закрытая часть API (будь то функция, метод или член данных).
Итак, мы используем метод, который позволяет нам делать это внутри определения нашего класса. Давайте реализуем два метода ( emali и update_email ), чтобы понять это:
Теперь мы можем обновлять непубличные переменные и обращаться к ним с помощью этих методов. Давайте посмотрим:
Публичный метод
С общедоступными методами мы также можем использовать их вне нашего класса:
Давайте проверим это:
Непубличный метод
А теперь мы попробуем вызвать этот непубличный метод с нашим объектом:
Вот пример того, как мы можем это использовать:
Сводка по инкапсуляции
С помощью инкапсуляции мы можем гарантировать, что внутреннее представление объекта скрыто снаружи.
Наследование: поведение и характеристики
У некоторых объектов есть общие черты: их поведение и характеристики.
В объектно-ориентированном программировании классы могут наследовать общие характеристики (данные) и поведение (методы) от другого класса.
Давайте посмотрим на другой пример и реализуем его на Python.
В нашем классе Car реализованы:
После запуска мы можем использовать все созданные переменные экземпляра. Отлично.
Вот так просто. Нам не нужно реализовывать какой-либо другой метод, потому что он уже есть в этом классе (унаследованный от класса Car). Докажем это:
Модули в Python
Сохраните этот код в файле с именем mymodule.py
Теперь мы можем использовать только что созданный модуль, используя оператор import :
Вы можете создать псевдоним при импорте модуля, используя ключевое слово as :
Встроенные модули
В Python есть несколько встроенных модулей, которые вы можете импортировать в любое время.
Существует встроенная функция для отображения всех имен функций (или имен переменных) в модуле. Это функция dir() :
Получим такой вывод:
Работа с файлами в Python
Обработка файлов
Существует четыре различных метода (режима) открытия файла:
Кроме того, вы можете указать, следует ли обрабатывать файл в двоичном или текстовом режиме.
Чтобы открыть файл для чтения, достаточно указать имя файла:
Код выше по сути такой же, как:
Поскольку r для чтения и t для текста являются значениями по умолчанию, вам не нужно их указывать.
Открыть файл на сервере
Предположим, у нас есть следующий файл, расположенный в той же папке, что и Python:
Если файл находится в другом месте, вам нужно будет указать путь к файлу, например:
Вы можете вывести одну строку, используя метод readline() :
Рекомендуется всегда закрывать файл по окончании работы с ним. В некоторых случаях из-за буферизации изменения, внесенные в файл, могут не отображаться, пока вы не закроете файл.
Запись в существующий файл
Для записи в существующий файл необходимо добавить параметр к функции open() :
Откройте файл «demofile2.txt» и добавьте содержимое в файл:
Откройте файл «demofile3.txt» и перезапишите его содержимое:
Создать новый файл
Чтобы создать новый файл в Python, используйте метод open() с одним из следующих параметров:
Создайте файл с именем myfile.txt :
Результат: создан новый пустой файл!
Удалить файл
Чтобы удалить файл, вы должны импортировать модуль os и запустить его функцию os.remove() :
Чтобы избежать появления ошибки, вы можете проверить, существует ли файл, прежде чем пытаться удалить его:
Удалить папку
Чтобы удалить всю папку, используйте метод os.rmdir() :
Удалить можно только пустые папки.
Python PIP
Примечание. Если у вас Python версии 3.4 или новее, PIP включен по умолчанию.
Проверьте, установлен ли PIP
Перейдите в командной строке к каталогу скриптов Python и введите следующее:
Установить PIP
Если у вас не установлен PIP, вы можете загрузить и установить его с этой страницы: https://pypi.org/project/pip/
Скачать пакет
Загрузить пакет очень просто. Откройте интерфейс командной строки и скажите PIP загрузить нужный пакет. Перейдите в командной строке к каталогу сценариев Python и введите следующее:
Мы скачали пакет camelcase
Использование пакета
Дополнительные пакеты можно найти на https://pypi.org/.
Удалить пакет
Диспетчер пакетов PIP попросит вас подтвердить, что вы хотите удалить пакет:
Список пакетов
Вот и все!
Мы узнали много нового об основах Python:
Как установить Python на компьютер и начать на нём писать
Это занимает всего 10 минут.
Онлайн-компиляторы Python хороши, когда нужно быстро протестировать что-то простое, но для полноценной работы их недостаточно. Чтобы использовать всю мощь Python, нужно установить его на свой компьютер, и тогда можно подключать к нему любые библиотеки и писать код любой сложности.
В этой статье покажем, как установить Python под Windows и как с ним работать. Для MacOS всё почти то же самое, а если у вас Linux, то вы лучше нас знаете, как это сделать.
Скачивание и установка
Для начала нам нужно скачать установщик с официального сайта — python.org. Если качать Python с других сайтов, можно подцепить вирус или троян. Скачивайте программы только с официальных сайтов.
Несмотря на то, что Python 3 вышел 10 лет назад, до сих пор многие спорят про то, какую версию лучше использовать — вторую или третью. Мы за прогресс, поэтому качаем Python 3, но вы можете выбрать любую другую.
На главной странице сразу видим большую жёлтую кнопку, на которой написано «Download Python». Нажимаем, сохраняем и запускаем файл. Он весит около 25 мегабайт.
Установщик спрашивает, как установить — всё сразу или хотите что-то настроить? Выбираем первый вариант — Install Now.
В конце установки программа предложит убрать ограничение на длину одной служебной переменной. Она отвечает за то, чтобы вы или другая программа могли запустить Python почти из любого места. Для этого нужно нажать текст в рамке.
Когда установка закончится, нужно проверить, что всё было сделано правильно. Для этого в командной строке наберите py (латиницей) или python и нажмите клавишу ввода. Если всё хорошо, в ответ Python вам напишет номер своей версии и сборки и предложит несколько команд для знакомства с собой:
Вы с Python 3, поздравляем.
Запуск программ
Пока наш Python может работать только через командную строку — какие команды введёте, те он и выполнит. Многим разработчикам это нравится, но для старта это неудобно. Например, чтобы запустить программу, нужно написать в командной строке так:
Полное имя означает, что нужно написать не только название файла, но и диск с папкой, где он находится. Чтобы было понятнее, давайте возьмём наш код из статьи про таймер на Python и сохраним его в файле time.py3 на диске D. Py3 означает, что внутри этого файла будет код на Python3. Можно просто назвать файл python.py, без тройки, но для некоторых моментов это может быть важно.
Теперь, чтобы запустить наш код, напишем в командной строке:
Результат работы — выполненный алгоритм:
Подключаем VS Code
Мы уже рассказывали об этом редакторе кода — он быстрый, бесплатный и есть много плагинов. Чтобы работать с Python-файлами было проще, научим VS Code понимать и запускать их. Для этого нам нужно найти и установить специальный плагин для этого языка. Открываем вкладку Расширения (Extensions) и пишем такое:
В результатах поиска находим Python и нажимаем Install:
Затем то же самое делаем для подсветки синтаксиса: пишем в Расширениях команду ext:py3 и устанавливаем плагин MagicPython. После этого перезапускаем VS Code, открываем наш файл и нажимаем F5. Когда выпадающее окошко спросит, с чем будем работать — выбираем Python. В итоге мы получаем редактор кода с нужной нам подсветкой синтаксиса и результатом работы в том же окне. Красота!
Запускаем и отлаживаем программу на Python в VS Code.
Вокруг появляется много одних и тех же магазинов — почему так происходит и как они устроены.
Мы не можем вам сказать. Но можем показать.
И поднимет осознанность.
Краткий курс математического ожидания.
Разбираем, как можно расположить текст и фото в CSS Grid.
Глубокое погружение в самую сложную и неинтуитивную область программирования.
Современные технологии против игры прошлого века.
Разговор с Алексеем Васильевым: управление проектами, учёба в ШАД и разработка систем ИИ.
Зачем нужен контроль версий и что делать, если ваши друзья его используют.
Это как системный администратор и программист в одном лице.
Самое понятное применение интернета вещей в жизни
Самый узнаваемый атрибут айтишных команд.
Он может быть размером со шкаф или со спичечный коробок