Python. урок 2. запуск программ на python

Содержание:

Использование Python¶

Python-программа, установленная по умолчанию, называется интерпретатором. Интепретатор принимает команды и выполняет их после ввода. Очень удобно для тестирования чего-либо.

Чтобы запустить интерпретатор, просто введи python и нажми Enter.

Чтобы узнать, какая версия Python запущена, используй

Взаимодействие с Python’ом

Когда Python запустится, ты увидишь что-то вроде этого:

Python 3.3.2 (default, May 21 2013, 15:40:45)
 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

Очень полезна команда , которая поможет тебе изучить досконально изучить Python, не выходя из интерпретатора. Нажми , чтобы закрыть окно со справкой и вернуться в командную строку Python.

Чтобы выйти из интерактивной оболочки, нажми и затем , если используешь Windows, и , если используешь GNU/Linux или OS X. Этого же можно добиться вводом Python-команды .

Запуск файлов с Python-кодом

Когда Python-кода становится слишком много, лучше записывать его в файлы. Это, например, позволит тебе редактировать отдельные части кода (исправлять ошибки) и тут же запускать их без необходимости перепечатывать текст. Просто сохрани код в файл, и передай его имя python‘у. Записанный в файл исходный код будет выполнен без запуска интерактивного интерпретатора.

Давай попробуем сделать это. С помощью своего любимого текстового редактора создай файл в текущей директории и запиши в него программу команду, выводящую фразу “Hello world”, из примера выше. На GNU/Linux или OS X также можно выполнить команду , чтобы создать пустой файл для последующего редактирования. Выполнить сохранённую в файле программу проще простого:

$ python hello.py

Примечание

Для начала убедись, что ты находишься в командной строке (на конце строк должны находиться символы или , а не , как в интерактивной оболочке Python).

В Windows нужно два раза кликнуть на пиктограмму файла, чтобы запустить его.

Когда ты нажмешь <Enter> в консоли, наш файл выполнится и результат его работы будет выведен на экран. В этот момент интерпретатор 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” (показать активную директорию).

Предупреждение

Эксперементируя с черепашкой, не называй рабочий файл — лучше выбрать более подходящие имена, такие как или , иначе при обращении к Python будет использовать твой файл вместо из стандартной библиотеки.

❖ Метод 1: Использование пути

Когда вы пытаетесь запустить Python в командной строке, то, что это делает, это то, что он ищет Переменная среды и проверки для выполнения файла исполняемого файла, который может быть либо пакетным файлом ( ), файл команды ( ) или любой другой исполняемый файл ( ), который соответствует Имя дано. Как только правильный файл найден, он выполняет программу, используя этот файл. Теперь, если у вас есть две версии Python, установленные в вашей системе (Python 2.7 и 3.8), то переменная пути будет содержать местоположение как каталогов. Но проблема заключается в том, как только Windows находит первый матч, он прекратит изучить любой другой путь.

Чтобы преодолеть этот барьер, вы должны явно вызывать один или оба из приложений, использующих их путь. Например, как вы можете видеть ниже, у меня есть две версии Python, установленной в моей системе.

  • Чтобы выполнить свой код в Python 2.7 Тогда вы должны позвонить
  • Чтобы выполнить свой код в Python 3.8 , вы должны позвонить Отказ Однако это не нужно, поскольку выбранная версия по умолчанию уже является Python-3.8 в этом случае.

0.5 Установка на Ubuntu Linux

Современные дистрибутивы Linux подкреплены обширными репозиториями предкомпилированных приложений (пакетов), готовых к установке. Точные сведения могут отличаться от дистрибутива к дистрибутиву. В Ubuntu Linux самый простой способ установить Python 3 – через приложение «Установка/удаление» («Add/Remove») в меню «Приложения» («Applications»).

Рисунок 22 – Установка/удаление: приложения, поддерживаемые компанией Canonical

Когда вы впервые запускаете «Установку/удаление», отображается список приложений по категориям. Некоторые из них уже установлены, но бо́льшая часть – нет. Репозиторий содержит более 10 000 приложений, поэтому вы можете применить различные фильтры, чтобы просмотреть меньшие фрагменты репозитория. Фильтр по умолчанию – «Приложения, поддерживаемые компанией Canonical» («Canonical-maintained applications») – показывает небольшое подмножество из общего числа приложений: только те, что официально поддерживаются компанией Canonical, создающей и поддерживающей Ubuntu Linux.

Python 3 не поддерживается Canonical, поэтому сначала выберите из выпадающего меню фильтров «Все Open Source приложения» («All Open Source applications»).

Рисунок 23 – Установка/удаление: все Open Source приложения

После переключения фильтра на отображение всех открытых приложений сразу же воспользуйтесь строкой поиска, чтобы найти «python 3».

Рисунок 24 – Установка/удаление: поиск «python 3»

Теперь список приложений сократился до тех, которые соответствуют запросу «python 3». Нужно отметить два пакета. Первый – «Python (v3.0)». Он содержит собственно интерпретатор Python.

Рисунок 25 – Установка/удаление: выбор пакета Python 3.0

Второй пакет, который вам нужен, находится непосредственно над первым — «IDLE (using Python-3.0)». Это графическая оболочка Python, которую вы будете использовать на протяжении всей книги.

Рисунок 26 – Установка/удаление: выбор пакета IDLE для Python 3.0

После того, как вы отметите эти два пакета, нажмите кнопку «Применить изменения» («Apply Changes») для продолжения.

Программа управления пакетами попросит подтвердить, что выхотите установить два пакета: «IDLE (using Python-3.0)» и «Python (v3.0)».

Рисунок 27 – Установка/удаление: применение изменений

Нажмите кнопку «Применить» («Apply») для продолжения.

Программа управления пакетами будет показывать индикатор выполнения во время загрузки необходимых пакетов из интернет-репозитория Canonical.

Рисунок 28 – Установка/удаление: индикатор выполнения загрузки

После загрузки пакетов программа управления пакетами автоматически начнёт устанавливать их.

Рисунок 29 – Установка/удаление: индикатор выполнения установки

Если всё прошло хорошо, программа управления пакетами подтвердит, что оба пакета были успешно установлены. Отсюда вы можете запустить оболочку Python, дважды кликнув по пункту «IDLE», или, нажав кнопку «Закрыть» («Close»), выйти из программы управления пакетами.

Рисунок 30 – Установка/удаление: новые приложения установлены

Вы всегда сможете запустить оболочку Python, из меню «Приложения» («Applications»), подменю «Программирование» («Programming»), выбрав пункт «IDLE».

Рисунок 31 – Графическая интерактивная оболочка Python для Linux

Оболочка Python – это то место, где вы проведёте бо́льшую часть времени, изучая Python. Во всех примерах в этой книге предполагается, что знаете, как найти оболочку Python.

Перейти к .

Python работа с файлами — основные методы

Ниже приводится полный список методов для работы с файлами в текстовом режиме.

Python работа с файлами — методы
Метод Описание
close() Закрытие файла. Не делает ничего, если файл закрыт.
detach() Отделяет бинарный буфер от TextIOBase и возвращает его.
fileno() Возвращает целочисленный дескриптор файла.
flush() Вызывает сброс данных (запись на диск) из буфера записи файлового потока.
isatty() Возвращает значение True, если файловый поток интерактивный.
read(n) Читает максимум n символов из файла. Читает до конца файла, если значение отрицательное или None.
readable() Возвращает значение True, если из файлового потока можно осуществить чтение.
readline(n=-1) Читает и возвращает одну строку из файла. Читает максимум n байт, если указано соответствующее значение.
readlines(n=-1) Читает и возвращает список строк из файла. Читает максимум n байт/символов, если указано соответствующее значение.
seek(offset,from=SEEK_SET) Изменяет позицию курсора.
seekable() Возвращает значение True, если файловый поток поддерживает случайный доступ.
tell() Возвращает текущую позицию курсора в файле.
truncate(size=None) Изменяет размер файлового потока до size байт. Если значение size не указано, размер изменяется до текущего положения курсора.
writable() Возвращает значение True, если в файловый поток может производиться запись.
write(s) Записывает строки s в файл и возвращает количество записанных символов.
writelines(lines) Записывает список строк lines в файл.

Пожалуйста, оставьте ваши комментарии по текущей теме статьи. За комментарии, лайки, подписки, дизлайки, отклики низкий вам поклон!

Обработка аргументов командной строки

Python 3 поддерживает несколько различных способов обработки аргументов командной строки. Встроенный способ – использовать модуль sys. С точки зрения имен и использования, он имеет прямое отношение к библиотеке C (libc). Второй способ – это модуль getopt, который обрабатывает как короткие, так и длинные параметры, включая оценку значений параметров.

Кроме того, существуют два других общих метода. Это модуль argparse, производный от модуля optparse, доступного до Python 2.7. Другой метод – использование модуля docopt, доступного на GitHub.

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

Установка Python 3.6 на Ubuntu

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

Shell

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial

1
2
3
4
5
6

$lsb_release-a

No LSB modules are available.

Distributor IDUbuntu

DescriptionUbuntu16.04.4LTS

Release16.04

Codenamexenial

Следуйте следующим инструкциям в зависимости от номера версии, который виден под надписью Release в выдаче консоли:

Ubuntu 17.10, Ubuntu 18.04 предоставляет Python 3.6 по умолчанию. Вы можете вызвать его по команде python3.

Ubuntu 16.10 и Ubuntu 17.04 не предоставляют Python 3.6 по умолчанию, однако он доступен в репозитории Universe. Вы можете установить его, выполнив следующие команды:

Shell

$ sudo apt-get update
$ sudo apt-get install python3.6

1
2

$sudo apt-getupdate

$sudo apt-getinstall python3.6

Вы можете вызвать его по команде python3.6.

Если вы используете Ubuntu 14.04 или Ubuntu 16.04, Python 3.6 не будет находиться в репозитории Universe, так что вам нужно получить его из архива Personal Package Archive (PPA). Например, для установки Python из PPA, выполните следующую команду:

Shell

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6

1
2
3

$sudo add-apt-repository ppadeadsnakesppa

$sudo apt-getupdate

$sudo apt-getinstall python3.6

Как и ранее, его можно вызвать при помощи команды python3.6.

Вступление

Тема красивых интерфейсов была и будет актуальна всегда. Кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие совмещать красоту графических дизайнов, создаваемых на HTML, CSS и JS с гибкостью в реализации логики приложения, которую может дать другой язык. Так вот, для тех, кто пишет на самом лучшем языке программирования Python, есть возможность писать красивые интерфейсы на HTML, CSS и JS и прикручивать к ним логику на Python.

В этой статья я хочу показать на небольшом примере, как же все таки создать простое и красивое десктопное приложение на HTML, CSS, JS и Python. В качестве библиотеки для связи всех компонентов будем использовать EEL.

Шаг 2: Подготовьте вашу систему

Существует несколько специфичных для дистрибутива шагов, связанных с получением Python с нуля. Суть каждого шага одинакова для всех дистрибутивов, но вам может понадобиться перевести ваш дистрибутив, если в нем не используется apt-get:

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

Shell

$ sudo apt-get update
$ sudo apt-get upgrade

1
2

$sudo apt-getupdate

$sudo apt-getupgrade

Далее, нам нужно убедиться в том, что система содержит инструменты, необходимые для установки Python. Их очень много, и у вас в распоряжении уже могут иметься некоторые из них. Я отсортировал их в одной командной строке, но вы можете разбить список на короткие команды.

Shell

# Для apt-систем (таких как Debian, Ubuntu и Mint)
$ sudo apt-get install -y make liblzma-dev lzma build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

# Для yum-систем (таких, как CentOS)
$ sudo yum -y groupinstall development
$ sudo yum -y install zlib-devel

1
2
3
4
5
6

# Для apt-систем (таких как Debian, Ubuntu и Mint)

$sudo apt-getinstall-ymakeliblzma-dev lzma build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev  libncursesw5-dev xz-utils tk-dev

 
# Для yum-систем (таких, как CentOS)

$sudo yum-ygroupinstall development

$sudo yum-yinstall zlib-devel

Создадим скрипт Python

Шаг №1 — откройте текстовый редактор.

Если вы находитесь на удаленном сервере, откройте свой любимый текстовый редактор. Для этого введите команду:

mcedit

Вы можете использовать любой текстовый редактор (vim, nano и т. д.). Но если вы хотите что-то более продвинутое, я настоятельно рекомендую Sublime Text 3.

Шаг №3 — Сохраните файл как файл .py!

Нажмите кнопку 10-Quit в правом нижнем углу (или Esc+0 на клавиатуре).

После чего mcedit спросит, хотите ли вы сохранить файл? Нажмите: Yes! Затем задайте имя новому текстовому файлу. Скрипты Python имеют собственное расширение: .py.

Нажмите . Теперь текстовый файл теперь стал скриптом Python.

Шаг № 4 — Снова откройте текстовый файл

Вернемся к редактированию файла, набрав команду:

mcedit demoscript.py

Теперь код выглядит более похожим на Python с различной подсветкой:

Это потому, что вы добавили расширение . В результате этого редактор mcedit распознал текстовый файл как скрипт Python.

Шаг № 5 — Добавьте Shebang!

Shebang — это строка кода, которую нужно поместить в самом начале скрипта. Его задача – сообщить ОС, что у вас есть исполняемый файл Python3.

Строка shebang для скриптов Python3 выглядит следующим образом:

#! / usr / bin / env python3

Добавленный Shebang

Если честно, ваш скрипт будет работать и без него. Несмотря на это, я предпочитаю добавлять Shebang по нескольким причинам:

  • В среде разработки, в которой доступно сразу несколько версий Python, Shebang прояснит, какой интерпретатор должен выполнить скрипт.
  • Когда один из ваших коллег откроет скрипт, он сразу увидит, на каком языке он написан.

Дополнительно: шаг № 6 — сделать скрипты на Python исполняемыми

После добавления Shebang, снова сохраните файл и попробуйте запустить скрипт, введя команду:

python3 demoscript.py

В некоторых случаях (в зависимости от конфигурации используемого сервера) вы получите ошибку прав доступа:

demoscript.py: Permission denied

В Python подобная ошибка прав доступа не возникает. Если вы не столкнулись с этой проблемой, просто перейдите к шагу № 7.

Если у вас возникла ошибка прав доступа, в командной строке введите этот код:

sudo chmod 777 demoscript.py

Затем введите свой пароль.

Шаг №7 — запустите скрипт на Python!

Запустите скрипт, введя команду:

python3 demoscript.py

Это означает, что ваш скрипт на Python запущен… Но вы не видите никакого результата на экране.

Шаг № 8 — почему я ничего не вижу?

В большинстве случаев, когда вы конвертируете проект Jupyter Notebook в скрипт Python, вы не увидите на экране ничего. Это потому, что последняя строка вашего кода была такой:

Вернитесь к своему скрипту и измените последнюю строку на эту:

print(zoo)

Нажмите 10-Quit и Save.

Перезапустите скрипт, введя для этого команду:

python3 demoscript.py

Шаг № 9 — Вы создали скрипт на Python

Победа!

Вы создали скрипт на Python, и он работает. Но вы все равно захотите использовать Jupyter Notebook. Так как он является идеальным инструментом для тестирования и настройки процессов. Поэтому:

  1. Я создаю прототип проекта на Python в Jupyter Notebook. Затем создаю код и выясняю, какие шаги необходимы.
  2. Затем удаляю ненужные фрагменты кода и импортированные пакеты, сортирую задачи Python в порядке их выполнения.
  3. Добавляю комментарии к коду.
  4. Перемещаю все в текстовый редактор (Sublime Text или mcedit) и создаю скрипт Python, который можно автоматизировать.

❖ Как проверить все установленные версии Python в Windows?

Введите следующую команду в вашей командной строке, чтобы найти версии Python, доступную в вашей системе:

py -0

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

py -0p

Следующие графические иллюстрации помогут вам четко понять вышеуказанные команды.

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

Python 2 VS. Python 3

Наиболее важные различия между тем, как Python 2 и Python 3 рассматривают инструкции , были описаны выше. Они снова рассматриваются ниже, наряду с некоторыми другими менее важными отличиями.

  1. Python 2 поддерживает неявный импорт по относительному пути, а Python 3 — нет.
  2. Python 2 требует, чтобы файлы находились внутри папки, чтобы папка считалась пакетом и была импортирована. В отличие от него для Python 3.3 и выше, благодаря поддержке неявного пространства имен пакетов, все папки являются пакетами независимо от наличия в них файла .
  3. В Python 2 можно написать внутри функции. В Python 3 синтаксис разрешен только на уровне модуля, но не внутри функций.

Синтаксис

Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например

Где взять отсутствующий пакет?

Необходимость в установке дополнительного пакета возникнет очень быстро, если вы решите поработать над задачей, за рамками базового функционала, который предоставляет Python. Например: работа с web, обработка изображений, криптография и т.п. В этом случае, необходимо узнать, какой пакет содержит функционал, который вам необходим, найти его, скачать, разместить в нужном каталоге и начать использовать. Все эти действия можно сделать вручную, но этот процесс поддается автоматизации. К тому же скачивать пакеты с неизвестных сайтов может быть довольно опасно.

К счастью для нас, в рамках Python, все эти задачи решены. Существует так называемый Python Package Index (PyPI) – это репозиторий, открытый для всех Python разработчиков, в нем вы можете найти пакеты для решения практически любых задач. Там также есть возможность выкладывать свои пакеты. Для скачивания и установки используется специальная утилита, которая называется pip.

2.1.11. Комментарии¶

(Эта информация вам прямо сейчас не нужна, но будет полезна при чтении дальнейших разделов.)

В программе можно оставлять так называемые комментарии. А именно, если где-то в программе
встречается символ «решетка» (), то этот символ и все, что идет за ним до конца строки,
полностью игнорируется питоном. Таким образом можно в программе оставлять пометки для себя,
или для других программистов, которые будут читать вашу программу. Например

a = int(input())  # считали число

Здесь запись полностью игнорируется питоном, как будто этих символов нет вообще,
а запись работает как и должна.

В частности, решетка может стоять в начале строки, тогда вся эта строка будет игнорироваться:

# для начала, считаем число
a = int(input())

Модуль getopt

Как вы могли заметить ранее, модуль sys разбивает строку командной строки только на отдельные фасеты. Модуль getopt в Python идет немного дальше и расширяет разделение входной строки проверкой параметров. Основанный на функции C getopt, он позволяет использовать как короткие, так и длинные варианты, включая присвоение значений.

На практике для правильной обработки входных данных требуется модуль sys. Для этого необходимо заранее загрузить как модуль sys, так и модуль getopt. Затем из списка входных параметров мы удаляем первый элемент списка (см. код ниже) и сохраняем оставшийся список аргументов командной строки в переменной с именем arguments_list.

# Include standard modules
import getopt, sys

# Get full command-line arguments
full_cmd_arguments = sys.argv

# Keep all but the first
argument_list = full_cmd_arguments

print argument_list

Аргументы в списке аргументов теперь можно анализировать с помощью метода getopts(). Но перед этим нам нужно сообщить getopts() о том, какие параметры допустимы. Они определены так:

short_options = "ho:v"
long_options = 

Это означает, что эти аргументы мы считаем действительными, а также некоторую дополнительную информацию:

------------------------------------------
long argument   short argument  with value
------------------------------------------
--help           -h              no
--output         -o              yes
--verbose        -v              no
------------------------------------------

Вы могли заметить, что после опции o short ставится двоеточие (:). Это сообщает getopt, что этой опции следует присвоить значение.

Теперь это позволяет нам обрабатывать список аргументов. Для метода getopt() необходимо настроить три параметра – список фактических аргументов из argv, а также допустимые короткие и длинные параметры (показаны в предыдущем фрагменте кода).

Сам вызов метода хранится в инструкции try-catch, чтобы скрыть ошибки во время оценки. Исключение возникает, если обнаруживается аргумент, который не является частью списка, как определено ранее. Скрипт в Python выведет сообщение об ошибке на экран и выйдет с кодом ошибки 2.

try:
    arguments, values = getopt.getopt(argument_list, short_options, long_options)
except getopt.error as err:
    # Output error, and return with an error code
    print (str(err))
    sys.exit(2)

Наконец, аргументы с соответствующими значениями сохраняются в двух переменных с именами arguments и values. Теперь вы можете легко оценить эти переменные в своем коде. Мы можем использовать цикл for для перебора списка распознанных аргументов, одна запись за другой.

# Evaluate given options
for current_argument, current_value in arguments:
    if current_argument in ("-v", "--verbose"):
        print ("Enabling verbose mode")
    elif current_argument in ("-h", "--help"):
        print ("Displaying help")
    elif current_argument in ("-o", "--output"):
        print (("Enabling special output mode (%s)") % (current_value))

Ниже вы можете увидеть результат выполнения этого кода. Мы покажем, как программа реагирует как на допустимые, так и на недопустимые программные аргументы:

$ python arguments-getopt.py -h
Displaying help
$ python arguments-getopt.py --help
Displaying help
$ python arguments-getopt.py --output=green --help -v
Enabling special output mode (green)
Displaying help
Enabling verbose mode
$ python arguments-getopt.py -verbose
option -e not recognized

Последний вызов нашей программы поначалу может показаться немного запутанным. Чтобы понять это, вам нужно знать, что сокращенные параметры (иногда также называемые флагами) могут использоваться вместе с одним тире. Это позволяет вашему инструменту легче воспринимать множество вариантов. Например, вызов аргументов arguments-getopt.py-vh аналогичен вызову аргументов arguments-getopt.py-v-h. Таким образом, в последнем вызове выше модуль getopt подумал, что пользователь пытается передать -e в качестве опции, что недопустимо.

2.1.10. Присваивания¶

Пока мы умеем записывать в переменные только то, что пользователь ввел с
клавиатуры. На самом деле, намного чаще приходится записывать в
переменные значения, которые программа сама вычисляет. Для этого есть
специальная команда, которая называется присваивание (и на самом деле
мы ее уже видели):

a = 10

обозначает «в переменную записать 10».

Справа от знака «равно» можно писать любые выражения (например,
). Более того, там же можно использовать другие
переменные, в которые уже что-то записано. Например, программа

a = 20
b = a + 10
print(b)

выведет на экран 30, потому что сначала в записывается 20, потом
компьютер смотрит, что записано в , прибавляет 10, и результат
записывает в , потом смотрит, что записано в , и выводит на
экран.

Если в переменной уже было что-то записано, то после присваивания старое
значение затирается:

a = 20
a = 30

в результате в лежит 30, а про 20 все забыли.

Особый интересный вариант — справа можно упоминать ту же переменную,
которая стоит слева — тогда будет использоваться ее предыдущее значение:

a = 20
a = a + 10

обозначает «в запиши 20. Потом посмотри, что записано в ,
прибавь к этому 10 и то, что получится, запиши обратно в ». В
итоге в будет записано 30.

Та команда , которую мы раньше видели, на самом деле тоже
является присваиванием: она говорит: «прочитай то, что пользователь ввел
с клавиатуры, и запиши это в ».

Слева от знака «равно» можно указывать несколько переменных через
запятую. Тогда справа тоже должно быть несколько значений через запятую
(или специальные функции типа уже упоминавшейся , но их мы
подробнее пока обсуждать не будем):

a, b = 10, 20

обозначает «в записать 10, а в — 20».

Запись читается «переменной присвоить 10», или кратко « присвоить 10».
Не надо говорить « равно 10», т.к. «равно» — это не глагол, и не понятно,
какое действие совершается. Более того, если запись
прочитать с «равно», то получается « равно плюс один», что
никак не похоже на команду, а скорее на уравнение, которое не имеет
решений. Поэтому говорите «присвоить», а не «равно».

Подсистема Windows для Linux (WSL)

Если вы используете Windows 10 Creators или Anniversary Update, существует другой способ установки Python. Эти версии Windows 10 включают в себя функцию под названием Windows Subsystem for Linux, которая позволяет вам запустить среду Linux прямо в Windows без изменений и без дополнительных нагрузок в виртуальном компьютере.

  • Для дополнительной информации, вы можете ознакомиться с документацией подсистемы Windows для Linux на сайте Microsoft;
  • Для инструкций по подключению подсистемы в Windows 10 и установки дистрибутива Linux, вы можете ознакомиться с руководством Windows 10;
  • Также, вы можете посмотреть презентацию Сары Кули на YouTube, одной из участников команды разработчиков WSL.

После установки подходящего дистрибутива Linux, вы можете установить Python 3 в консольном окне Bash, как если бы вы запускали дистрибутив Linux напрямую (смотреть ниже).

Добавляем потоки в таймер

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

Теперь сделаем новый поток, в который отправим выполняться нашу новую функцию. Так как аргументов у нас нет, то и аргументы передавать не будем, а напишем args=().

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

Результат:

Установка дополнительных модулей Python

Многие проекты Python созданы для использования преимуществ других модулей — общего программного обеспечения, которое другие проекты могут использовать для экономии времени, а не для «изобретения колеса». Вы можете найти и установить дополнительные модули с помощью PIP, индекса пакетов Python.

Прежде чем начать, вам нужно будет установить Python PIP , хотя, если вы установили Python 3.4 или новее, он должен быть предустановлен, если вы не удалили этот параметр во время предустановочной конфигурации Python.

Вы можете использовать PIP для установки новых модулей, открыв окно PowerShell и введя pip install package-name или python -m pip install package-name , заменив package-name именем пакета модуля, который вы можете установить. Вы можете искать пакеты для установки с помощью инструмента поиска на веб-сайте PIP.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector