Приступая к работе¶
Если у тебя ещё нет Python’а, ты можешь найти последние официальные установочные файлы здесь:
Будучи последним, Python 3 предпочтительнее!
На Windows можно добавить Python в переменную “path”, чтобы её было легче найти. Для этого нужно перейти в каталог с установленным Python’ом (например, C:\Python33\ ), открыть директорию Tools , потом — Scripts и запустить двойным кликом файл win_add2path.py .
И редактор кода¶
Хороший редактор кода помогает читать и писать программы. Их много, а каждый программист выбирает подходящий для себя так же, как теннисист выбирает ракетку, а шеф-повар — нож. Начинающим больше подойдут несложные, незапутанные, но помогающие в работе, редакторы, например:
- Sublime Text: простой, но проприетарный редактор, поддерживающий Windows, Mac и GNU/Linux. Сочетание клавиш Ctl+B запускает открытый файл.
- Geany: простой в обращении и не перегруженный функциями редактор, работающий на Windows и GNU/Linux.
- TextMate: один из самых известных редакторов кода для Mac’ов, изначально бывший коммерческим продуктом, но позже ставший свободным и бесплатным.
- Gedit и Kate: если ты используешь GNU/Linux с Gnome или KDE соответственно, то один из них должен быть предустановлен!
- Komodo Edit: неплохой свободный редактор под Mac, Windows и GNU/Linux, основанный на более мощной Komodo IDE.
Если ты хочешь последовать нашим рекомендациям, для начала попробуй Sublime Text.
Wordpad, TextEdit, Notepad и Word – неподходящие текстовые редакторы.
Всё же, что такое Python?¶
Python — это вещь, называемая языком программирования. Она принимает текст (обычно называемый кодом), который ты написал, переводит его в инструкции для компьютера, которые затем исполняет. Мы будем учиться писать код, чтобы делать клёвые и полезные вещи. Отныне вы не обязаны использовать чужие программы, чтобы выполнять работу на компьютере!
В действительности, Python – всего лишь ещё одна программа на твоём компьютере. Для начала нужно узнать, как использовать и взаимодействовать с ним. Существует много способов научиться этому, первый из которых – работать и интерпретатором Python, используя консоль операционной системы (ОС).
Консоль (“терминал”, “командная строка”) – это текстовый (в отличие от так называемых “окружений рабочего стола” (Desktop Environment, DE), работающих в связке с мышью) интерфейс для работы с ОС.
Открываем консоль в Mac OS X¶
Стандартная консоль OS X зовётся Терминалом, который можно найти с помощью поиска (правый верхний угол) по системе или в разделе Приложения -> Утилиты .
Командная строка Terminal — это инструмент для “общения” с компьютером. Открывшееся окно должно содержать сообщение-подсказку, что-то вроде этого:
mycomputer:~ myusername$
Открываем консоль в GNU/Linux¶
В дистрибутивах GNU/Linux (Ubuntu, Fedora, Mint и т.д.) обычно уже установлены разные программы-консоли, обычно называемые терминалами. То, какой терминал установлен, зависит от используемого дистрибутива. Например, в Ubuntu это Gnome Terminal. После запуска появляется приглашение вроде этого:
myusername@mycomputer:~$
Открываем консоль в Windows¶
В WIndows консоль называется командной строкой (cmd). Самый простой способ запустить её — нажать Windows+R ( Windows — это клавиша с соответствующим логотипом), в открывшемся окне ввести cmd и нажать Enter (или кликнуть по кнопке Ok ); также можно найти её в меню Пуск . Выглядеть командная строка должна примерно так:
C:\Users\myusername>
Командная строка Windows намного менее функциональна, чем её аналоги из GNU/Linux и OS X, потому лучше запускать интерпретатор Python’а (см. ниже) напрямую или с помощью программы IDLE, которая поставляется с Python’ом (найти её можно в меню “Пуск”).
Использование Python¶
Python-программа, установленная по умолчанию, называется интерпретатором. Интепретатор принимает команды и выполняет их после ввода. Очень удобно для тестирования чего-либо.
Чтобы запустить интерпретатор, просто введи python и нажми Enter.
Чтобы узнать, какая версия Python запущена, используй python -V
Взаимодействие с Python’ом¶
Когда Python запустится, ты увидишь что-то вроде этого:
Python 3.3.2 (default, May 21 2013, 15:40:45) [GCC 4.8.0 20130502 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
>>> в последней строке означает, что сейчас мы находимся в интерактивном интерпретаторе Python, также называемом “Оболочкой Python (Python shell)”. Это не то же самое, и что обычная командная строка!
Теперь ты можешь ввести немного Python-кода. Попробуй:
print("Hello world")
Нажми и посмотри, что произошло. После вывода результата Python вернёт тебя обратно в интерактивную оболочку, в которой мы можем ввести какую-нибудь другую команду:
>>> print("Hello world") Hello world >>> (1 + 4) * 2 10
Очень полезна команда help() , которая поможет тебе изучить досконально изучить Python, не выходя из интерпретатора. Нажми q , чтобы закрыть окно со справкой и вернуться в командную строку Python.
Чтобы выйти из интерактивной оболочки, нажми Ctrl-Z и затем Enter , если используешь Windows, и Ctrl-D , если используешь GNU/Linux или OS X. Этого же можно добиться вводом Python-команды exit() .
Запуск файлов с Python-кодом¶
Когда Python-кода становится слишком много, лучше записывать его в файлы. Это, например, позволит тебе редактировать отдельные части кода (исправлять ошибки) и тут же запускать их без необходимости перепечатывать текст. Просто сохрани код в файл, и передай его имя python‘у. Записанный в файл исходный код будет выполнен без запуска интерактивного интерпретатора.
Давай попробуем сделать это. С помощью своего любимого текстового редактора создай файл hello.py в текущей директории и запиши в него программу команду, выводящую фразу “Hello world”, из примера выше. На GNU/Linux или OS X также можно выполнить команду touch hello.py , чтобы создать пустой файл для последующего редактирования. Выполнить сохранённую в файле программу проще простого:
$ python hello.py
Для начала убедись, что ты находишься в командной строке (на конце строк должны находиться символы $ или > , а не >>> , как в интерактивной оболочке Python).
В Windows нужно два раза кликнуть на пиктограмму файла, чтобы запустить его.
Когда ты нажмешь в консоли, наш файл выполнится и результат его работы будет выведен на экран. В этот момент интерпретатор Python выполнит все инструкции, находящиеся в скрипте и вернет управление командной строке, а не интерактивной оболчке Python.
Теперь всё готово, и мы можем приступить к черепашке!
Вместо ожидаемого “Hello world” ты получил какие-то странные ошибки “can’t open file” или “No such file or directory”? Скорее всего, что ты работаешь не в той директории где сохранен твой Pyhton-скрипт. С помощью командной строки легко сменить текущий активный каталог, используя команду cd, что означает “change directory” (сменить каталог). В Windows эта команда может выглядеть так:
> cd Desktop\Python_Exercises
В Linux или OS X:
$ cd Desktop/Python_Exercises
С помощью этой команды мы перейдем в папку Python_Exercises, которая находиться в папке Desktop (конечно же, на твоем компьютере названия папок будут отличаться). Если ты не знаешь путь к каталогу, где ты сохранил свой файл, попробуй просто перетащить папку в окно консоли. А если ты не знаешь в какой папке ты сейчас находишься в консоли — воспользуйся командой pwd, которая означает “print working directory” (показать активную директорию).
Эксперементируя с черепашкой, не называй рабочий файл turtle.py — лучше выбрать более подходящие имена, такие как square.py или rectangle.py , иначе при обращении к turtle Python будет использовать твой файл вместо turtle из стандартной библиотеки.
© Авторские права 2012–2014, OpenTechSchool and contributors.
Создано с помощью Sphinx 1.3.1.
Что такое консоль в питоне
Для вывода информации на консоль предназначена встроенная функция print() . При вызове этой функции ей в скобках передается выводимое значение:
print("Hello METANIT.COM")
Данный код выведет нам на консоль строку «Hello METANIT.COM».
Отличительной особенностью этой функции является то, что по умолчанию она выводит значение на отдельной строке. Например:
print("Hello World") print("Hello METANIT.COM") print("Hello Python")
Здесь три вызова функции print() выводят некоторое сообщение. Причем при выводе на консоль каждое сообщение будет размещаться на отдельной строке:
Hello World Hello METANIT.COM Hello Python
Такое поведение не всегда удобно. Например, мы хотим, чтобы все значения выводились на одной строке. Для этого нам надо настроить поведение функции с помощью параметра end . Этот параметр задает символы, которые добавляются в конце к выводимой строке и . При применении параметра end вызов функции print() выглядит следующим образом:
print(значение, end = конечные_символы)
По умолчанию end равен символу «\n» , который задает перевод на следующую строку. Собственно поэтому функция print по умолчанию выводит передаваемое ей значение на отдельной строке.
Теперь определим, чтобы функция не делала перевод на следующую строку, а выводила значение на той же строке:
print("Hello World", end=" ") print("Hello METANIT.COM", end=" ") print("Hello Python")
То есть теперь выводимые значения будут разделяться пробелом:
Hello World Hello METANIT.COM Hello Python
Причем это может быть не один символ, а набор символов:
print("Hello World", end=" and ") print("Hello METANIT.COM", end=" and ") print("Hello Python")
В данном случае выводимые сообщения будут отделяться символами » and » :
Hello World and Hello METANIT.COM and Hello Python
Консольный ввод
Наряду с выводом на консоль мы можем получать ввод пользователя с консоли, получать вводимые данные. Для этого в Python определена функция input() . В эту функцию передается приглашение к вводу. А результат ввода мы можем сохранить в переменную. Например, определим код для ввода пользователем имени:
name = input("Введите свое имя: ") print(f"Ваше имя: ")
В данном случае в функцию input() передается приглашение к вводу в виде строки «Введите свое имя: «. Результат функции — результат ввода пользователя передается в переменную name . Затем мы можем вывести значение этой переменной на консоль с помощью функции print() . Пример работы кода:
Введите свое имя: Eugene Ваше имя: Eugene
Еще пример с вводом нескольких значений:
name = input("Your name: ") age = input("Your age: ") print(f"Name: Age: ")
Пример работы программы:
Your name: Tom Your age: 37 Name: Tom Age: 37
Стоит учитывать, что все введенные значения рассматриваются как значения типа str , то есть строки. И даже если мы вводим число, как в втором случае в коде выше, то Python все равно будет рассматривать введенное значение как строку, а не как число.
Использование интерактивной консоли Python
Интерактивная консоль Python (также интерпретатор или оболочка Python) предоставляет программистам быстрый способ выполнить команды и протестировать код, не создавая файл.
Интерактивная консоль предоставляет доступ к истории команд, всем встроенным функциям и установленным модулям Python. Она позволяет использовать автозаполнение, исследовать возможности Python и вставлять код в файлы программирования после проверки.
Этот мануал научит вас работать с интерактивной консолью Python.
Доступ к интерактивной консоли
Доступ к интерактивной консоли Python можно получить с любого локального компьютера или сервера, на котором установлен Python.
Для входа в интерактивную консоль Python используйте команду:
Если вы настроили среду разработки, вы можете получить доступ к консоли внутри этой среды. Сначала запустите среду:
cd environments
my_env/bin/activate
Затем откройте консоль:
Читайте также:
- Настройка локальной среды разработки для Python 3 в Ubuntu 16.04
- Установка Python 3 и настройка среды разработки на сервере Ubuntu 16.04
В этом случае по умолчанию используется версия Python 3.5.2, которая отображается на выходе вместе с уведомлением об авторских правах и командами для дополнительной информации:
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>>
Поле для ввода следующей команды – три знака больше:
Вы можете указать определенную версию Python, добавив номер версии в команду без пробелов:
$ python2.7
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type «help», «copyright», «credits» or «license» for more information.
>>>
Вывод сообщает, что теперь будет использоваться версия Python 2.7.12. Если бы она была версией Python по умолчанию, открыть её интерактивную консоль можно было бы с помощью команды python2.
Чтобы вызвать интерактивную консоль версии Python 3 по умолчанию, нужно ввести:
$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>>
Также консоль этой версии можно вызвать с помощью команды:
Работа с интерактивной консолью Python
Интерактивный интерпретатор Python принимает синтаксис Python, который находится после префикса >>>.
Например, он позволяет присваивать значения переменным:
Вы можете присвоить значения нескольким переменным, чтобы обрабатывать математические операции.
>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year — birth_year
>>> print(age_at_death)
53
>>>
Как и в файле, в консоли можно задать значения переменных, выполнить математическую операцию и запросить результат.
Интерактивную консоль можно использовать как калькулятор.
Многострочный код Python в консоли
При создании многострочного кода в консоли интерпретатор Python использует троеточие (…) в качестве вспомогательной строки.
Чтобы выйти из вспомогательной строки, нужно дважды нажать Enter.
Чтобы понять, как это работает, рассмотрите этот код, который задает значения двум переменным и использует условное выражение, чтобы определить вывод.
>>> 8host = ‘8host’
>>> blog = ‘blog’
>>> if len(8host) > len(blog):
. print(‘8host codes in Java.’)
. else:
. print(‘8host codes in Python.’)
.
8host codes in Java.
>>>
В данном случае первая строка длиннее, чем вторая, потому срабатывает первое условие и программа выводит соответствующую строку.
Обратите внимание, при этом нужно соблюдать соглашение об отступах Python (четыре пробела), иначе вы получите сообщение об ошибке:
>>> if len(8host) > len(blog):
. print(‘8host codes in Java.’)
File «», line 2
print(‘8host codes in Java.’)
^
IndentationError: expected an indented block
>>>
Импорт модулей
Интерпретатор Python позволяет быстро проверить, доступны ли те или иные модули в определенной среде программирования. Для этого существует оператор import:
>>> import matplotlib
Traceback (most recent call last):
File «», line 1, in
ImportError: No module named ‘matplotlib’
В данном случае библиотека matplotlib недоступна в текущей среде.
Чтобы установить эту библиотеку, используйте pip.
pip install matplotlib
Collecting matplotlib
Downloading matplotlib-2.0.2-cp35-cp35m-manylinux1_x86_64.whl (14.6MB)
.
Installing collected packages: pyparsing, cycler, python-dateutil, numpy, pytz, matplotlib
Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2
Установив модуль matplotlib и его зависимости, вы можете вернуться в интерактивный интерпретатор.
(my_env) 8host@ubuntu:~/environments$ python
>>>import matplotlib
>>>
Теперь вы можете использовать импортированный модуль в этой среде.
Выход из интерактивной консоли Python
Закрыть консоль Python можно двумя способами: с помощью клавиатуры или с помощью функции Python.
Чтобы закрыть консоль, можно нажать на клавиатуре Ctrl + D в *nix-подобных системах или Ctrl + Z + Ctrl в Windows.
>>> age_at_death = death_year — birth_year
gt;>> print(age_at_death)
53
>>>
8host@ubuntu:~/environments$
Также в Python есть функция quit(), которая закрывает консоль и возвращает вас в стандартный терминал.
>>> octopus = ‘Ollie’
>>> quit()
8host@PythonUbuntu:~/environments$
Функция quit() записывается в историю, а комбинации клавиш – нет. Это следует учитывать при выходе из консоли. Откройте файл истории /home/8host /.python_history
.
age_at_death = death_year — birth_year
print(age_at_death)
octopus = ‘Ollie’
quit()
История консоли Python
Еще одним преимуществом интерактивной консоли Python является история. Все команды регистрируются в файле .python_history (в *nix-подобных системах).
На данный момент файл истории Python выглядит так:
import pygame
quit()
if 10 > 5:
print(«hello, world»)
else:
print(«nope»)
8host = ‘8host’
blog = ‘blog’
.
Чтобы закрыть файл, нажмите Ctrl + X.
Отслеживая историю, вы можете вернуться к предыдущим командам, скопировать, вставить или изменить этот код, а затем использовать его в файлах программы или Jupyter Notebook.
Заключение
Интерактивная консоль Python предоставляет пространство для экспериментов с кодом Python. Вы можете использовать ее как инструмент для тестирования, разработки логики программы и многого другого.
Для отладки файлов программы Python вы можете использовать модуль code и открыть интерактивный интерпретатор внутри файла.
5 библиотек Python для красивого вывода на консоль
Независимо от того, создаете ли вы простой скрипт Python или приложение корпоративного уровня, элегантное взаимодействие с консолью избавит вас от надоедливой головной боли при устранении неполадок в будущем.
В этой статье мы рассмотрим некоторые библиотеки, которые позволят вам создавать удобные, элегантные взаимодействия с консолью и вывод для вашего кода.
Использование этих замечательных библиотек поможет вам создавать приложения командной строки, которые понравятся пользователям.
1. tqdm
Первый модуль, возможно, является одной из самых удобных функций, которые вы можете добавить в свой код. Индикатор прогресса! Разве это не расстраивает, когда вы понятия не имеете, сколько времени прошло во время долгого процесса?
Если вы когда-либо устанавливали пакет с помощью pip, вы видели этот модуль в действии.
import tqdm import time for _ in tqdm.tqdm(range(100)): time.sleep(0.25)
2. colorama
Кто не любит красочный консольный текст? Ошибки отображаются красным цветом, успешные операции — зеленым.
Используя colorama, вы можете раскрасить любой вывод текста и выделить определенные слова, фразы или строки.
from colorama import init init() from colorama import Fore, Back, Style print(Fore.GREEN + 'green text') print(Back.YELLOW + 'yellow back') print(Style.BRIGHT + 'bright' + Style.RESET_ALL) print('default')
3. art
Про art, думаю рассказывать не надо, достаточно посмотреть на это
from art import tprint tprint("Python")
4. simple-term-menu
Иногда все, что нужно для упрощения сложного приложения, — это меню. Любите вы их или ненавидите, но меню командной строки могут облегчить жизнь пользователя.
from simple_term_menu import TerminalMenu menu = TerminalMenu(['yes', 'no', 'maybe', 'so']) menu.show()
5. tabulate
Печать таблиц вручную с помощью Python в лучшем случае разочаровывает. Заголовки отображаются некорректно, столбцы смещаются влево или вправо. Вы можете облегчить себе жизнь с помощью tabulate.
import tabulate data = [ ['id', 'name', 'number'], [0, 'Jeff', 1234], [1, 'Bob', 5678], [2, 'Bill', 9123] ] results = tabulate.tabulate(data) print(results)