Как сделать название программы в python

Обновлено: 07.07.2024

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

2. Точки с запятой

Не разделяйте ваши строки с помощью точек с запятой и не используйте точки с запятой для разделения команд, находящихся на одной строке.

3. Скобки

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

4. Пробелы в выражениях и инструкциях

4.1 Пробелы и скобки

4.1.1 Не ставьте пробелы внутри каких-либо скобок (обычных, фигурных и квадратных).

4.1.2 Никаких пробелов перед открывающей скобкой, которая начинает список аргументов, индекс или срез.

Хорошо Плохо Хорошо Плохо

4.2 Пробелы рядом с запятой, точкой с запятой и точкой

4.2.1 Перед запятой, точкой с запятой либо точкой не должно быть никаких пробелов. Используйте пробел после запятой, точки с запятой или точки (кроме того случая, когда они находятся в конце строки).

4.3 Пробелы вокруг бинарных операторов

4.3.1 Окружайте бинарные операторы одиночными пробелами с каждой стороны. Это касается присваивания ( = ), операторов сравнения ( == , , > , != , <> , , >= , in , not in , is , is not ), и булевых операторов ( and , or , not ). Используйте, как вам покажется правильным, окружение пробелами по отношению к арифметическим операторам, но расстановка пробелов по обеим сторонам бинарного оператора придает целостность коду.

4.3.2 Не используйте более одного пробела вокруг оператора присваивания (или любого другого оператора) для того, чтобы выровнять его с другим.

4.3.3 Не используйте пробелы по сторонам знака = , когда вы используете его, чтобы указать на именованный аргумент или значение по умолчанию.

5. Длина строк

Ограничивайте длину строк 79 символами (а длину строк документации и комментариев — 72 символами). В общем случае не используйте обратный слеш в качестве перехода на новую строку. Используйте доступное в Python явное объединение строк посредством круглых и фигурных скобок. Если необходимо, можно добавить дополнительную пару скобок вокруг выражения.

Если ваш текст не помещается в одну строку, используйте скобки для явного объединения строк.

Что касается длинных URL в комментариях, то располагайте их, если это необходимо, на одной строке.

Обратный слеш иногда используется. Например, с длинной конструкцией with для переноса блока инструкций.

Ещё один подобный случай — длинные assert .

6. Пустые строки

Отделяйте функции (верхнего уровня, не функции внутри функций) и определения классов двумя пустыми строками. Определения методов внутри класса отделяйте одной пустой строкой. Две пустые строки должны быть между объявлениями верхнего уровня, будь это класс или функция. Одна пустая строка должна быть между определениями методов и между объявлением класса и его первым методом.

Используйте (без энтузиазма) пустые строки в коде функций, чтобы отделить друг от друга логические части.

Python расценивает символ control+L как незначащий (whitespace), и вы можете использовать его, потому что многие редакторы обрабатывают его как разрыв страницы — таким образом, логические части в файле будут на разных страницах. Однако не все редакторы распознают control+L и могут на его месте отображать другой символ.

7. Имена

Имена, которых следует избегать:

7.1 Имена функций

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

Стиль mixedCase допускается в тех местах, где уже преобладает такой стиль — для сохранения обратной совместимости.

7.2 Имена модулей и пакетов

Модули должны иметь короткие имена, состоящие из маленьких букв. Можно использовать символы подчёркивания, если это улучшает читабельность. То же самое относится и к именам пакетов, однако в именах пакетов не рекомендуется использовать символ подчёркивания.

Так как имена модулей отображаются в имена файлов, а некоторые файловые системы являются нечувствительными к регистру символов и обрезают длинные имена, очень важно использовать достаточно короткие имена модулей — это не проблема в Unix, но, возможно, код окажется непереносимым в старые версии Windows, Mac, или DOS.

7.3 Имена классов

Все имена классов должны следовать соглашению CapWords почти без исключений.

Иногда вместо этого могут использоваться соглашения для именования функций, если интерфейс документирован и используется в основном как функции.

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

Так как исключения являются классами, к исключениями применяется стиль именования классов. Однако вы можете добавить Error в конце имени (если, конечно, исключение действительно является ошибкой).

7.4 Имена констант

Константы обычно объявляются на уровне модуля и записываются только заглавными буквами, а слова разделяются символами подчеркивания.

8. Комментарии

Комментарии, противоречащие коду, хуже, чем отсутствие комментариев. Всегда исправляйте комментарии, если меняете код!

Комментарии должны быть законченными предложениями. Если комментарий — фраза или предложение, первое слово должно быть написано с большой буквы, если только это не имя переменной, которая начинается с маленькой буквы (никогда не отступайте от этого правила для имен переменных).

Ставьте два пробела после точки в конце предложения.

Если вы — программист, не говорящий по-английски, то всё равно следует использовать английский язык для написания комментариев. Особенно, если нет уверенности на 120% в том, что этот код будут читать только люди, говорящие на вашем родном языке.

8.1 Блоки комментариев

8.2 Комментарии в строке с кодом

Старайтесь реже использовать подобные комментарии.

Комментарии в строке с кодом не нужны и только отвлекают от чтения, если они объясняют очевидное.

8.3 Строки документации

Соглашения о написании хорошей документации (docstrings) зафиксированы в PEP 257.

Пишите документацию для всех публичных модулей, функций, классов, методов. Строки документации необязательны для приватных методов, но лучше написать, что делает метод. Комментарий нужно писать после строки с def .

Очень важно, чтобы закрывающие кавычки стояли на отдельной строке. А еще лучше, если перед ними будет ещё и пустая строка.

Для однострочной документации можно оставить """ на той же строке.

9. Циклы

9.1 Циклы по спискам

Если нам необходимо в цикле пройти по всем элементам списка, то хорошим тоном (да и более читаемым) будет такой способ:

И хотя бывалые программисты или просто любители C могут использовать и такой код, это моветон.

А если нужно пройти по списку задом наперед, то лучше всего использовать метод reversed:

Вместо того чтобы писать избыточный код, который и читается-то не очень внятно.

9.2 Циклы по списку чисел

Если есть необходимость пройти в цикле по ряду чисел, то метод range будет намного приемлемее, как минимум потому, что этот метод потребляет намного меньше памяти, чем вариант в блоке "Плохо". А представьте, что у вас ряд из трёх миллиардов последовательных чисел!

9.3 Циклы по спискам с индексами

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

9.4 Циклы по двум спискам

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

10. Импорты

Каждый импорт, как правило, должен быть на отдельной строке.

В то же время, можно писать так:

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

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

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

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

Следует избегать шаблонов импортов ( from import * ), так как они делают неясным то, какие имена присутствуют в глобальном пространстве имён, что вводит в заблуждение как читателей, так и многие автоматизированные средства.

Рекомендуем также ознакомиться с полной версией соглашения о том, как писать код на Python (PEP 8)

В этом уроке мы создадим на основе языка программирования Python свое первое программное обеспечение с .exe файлом.

Введение в GUI

GUI (Graphical user interface) - графический интерфейс пользователя. С этого понятия мы и начнем. На самом деле никаких скрытых смыслов здесь нет и GUI - это графическое представление для всех ваших программ.

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

В "питоне" есть много модулей, которые вы можете импортировать и на его основе создавать свой графический интерфейс. Мы будем использовать Tkinter - встроенный GUI для Python. Он устанавливается вместе "питоном".

Здесь Tk() относится к классу в модуле Tkinter, который мы сохраняем, инициализируя в top. Label - это метод для печати текста, Entry - для создания пустой записи, Button - для создания кнопки.


pack - это ключ для упаковки всего в макет. mainloop сохраняет все видимым, пока вы не закроете графический интерфейс.

Создаем собственный калькулятор

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

Сразу скажу, что стиль кода, названия переменных очень важны и существует n-способов создания кода, но здесь мы только хотим понять суть создания ПО, а не выучить все правила правильного написания кода.


Создание GUI

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

Воспользуемся написанным кодом выше и возьмем оттуда label, entry и button.

Создание функции

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

Начнем с кнопки Submit (см. изображение калькулятора выше).

Нам нужно дать команду кнопке, создать функцию, которая предназначена для этого.

Называем функцию process, которая после нажатия кнопки, простыми словами, обращается за данными к нашим строкам ввода и получает значения, введенные пользователем. Полученные данные мы сохраняем в number1, number2, operator.

Процесс вычислений

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

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

Тем не менее, есть еще одна проблема - получение значения оператора (например, + - * /) для работы.

На самом деле решение довольно простое - использовать условный оператор if и делать вычисления внутри условий.

Строка в Python обозначается как " " или ' ', то есть здесь в if мы проверяем строковый оператор, полученный от пользователя и сохраняем результат в переменной answer.

Код целиком будет выглядеть так:

Вы успешно написали код нашего калькулятора.

Обработка исключений

Заголовок звучит слишком техническим? Определенно нет, не переживайте. Мы всегда должны учитывать много разных моментов.

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

Обработка исключений считается простым процессом. Давайте посмотрим, как это сделать в нашей программе:

Создание EXE

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

Чтобы создать исполняемую *.exe версию или Apk (для Android) необходимо "заморозить" (freeze) ваш код.

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

Шаг 1

Шаг 2

Перейдите в папку, в которой находится код, нажмите SHIFT + правую клавишу мыши и далее "Открыть в командной строке". Т.е. либо "open in command prompt" или "power shell" в зависимости от вашей версии ОС.


Добавляем свой значок для EXE-файла и помещаем всё в один файл с помощью второй команды.


Исходную программу на Python и *.exe файл вы можете скачать ниже:

На этом мы заканчиваем урок по разработке своего первого программного обеспечения на Python.

Синтаксис языка Python во многом похож на синтаксис таких языков, как Perl, C и Java, но вместе с этим имеет ряд отличий от этих языков программирования. В этой статье мы рассмотрим необходимые основы этого языка программирования.

Первая программа на Python:

Во-первых, следует отметить, что на Python вы можете программировать в двух режимах: интерактивном и скриптовом

Интерактивный режим программирования:

Запуск в командной строке python без передачи в качестве аргумента названия файла запустит интерпретатор Python:

python в интерактивном режиме

Введите следующий текст после строки приглашения Python и нажмите Enter:

Если вы все сделали правильно, то интерпретатор выдаст строку:

результат в интерпретаторе

Если вы получили ошибку - удостоверьтесь, что правильно переписали код и что используете интерпретатор версии 2.х (для версии 3.х следует использовать команду print ("Hello, Python"))

Скриптовый режим программирования:

Запуск в командной строке python с названием файла (он еще называется скрипт) в качестве параметра, начнет выполнение кода, записанного в данном файле. После завершения выполнения скрипта, интерпретатор будет снова неактивен.

Давайте, создадим простую программу-скрипт на Python. Откройте любой текстовый редактор (Sublime, Notepad++, gedit. ), создайте в нем файл с именем test и расширением .py (все файлы, содержащие код на Python должны иметь расширение .py) и запишите в этот файл уже знакомый нам код и сохраните файл:

(Предполагается, что интерпретатор Python у вас задан в переменной PATH, то есть вы находясь в любой директории можете ввести python для запуска интерпретатора)

После этого введите следующую строку в командной строке и нажмите Enter:

python скриптовый режим

Идентификаторы в Python:

Идентификаторы в Python это имена используемые для обозначения переменной, функции, класса, модуля или другого объекта. Идентификатор должен начинаться с буквы (от a до Z) или со знака подчеркивания (_), после которых может идти произвольное количество букв, знаков подчеркивания и чисел (от 0 до 9).

В Python недопустимо использование знаков препинания или специальных символов, таких как @, $ или % в качестве идентификаторов. Кроме того, Python чуствителен к регистру, то есть cat и Cat это два разных имени.

В Python существует следующая договоренность для названия идентификаторов:

  • Имена классов начинаются с большой буквы, все остальные идентификаторы - с маленькой.
  • Использования знака подчеркивания в качестве первого символа идентификатора означает, что данный идентификатор является частным (закрытым от использования вне класса).
  • Если идентификатор начинается и заканчивается двумя знаками подчеркивания (например, __init__ ) это означает, что он является специальным именем, определенным внутри языка.

Зарезервированые (ключевые) слова в Python:

В данной таблице собраны все ключевые слова Python.

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

Строки и отступы:

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

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

Например, этот блок кода будет работать (хотя так писать не стоит):

А этот уже вызовет ошибку:

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

Многострочные выражения:

Выражения в Python, как правило, заканчиваются новой строкой. Однако, в этом языке программирования существует специальный символ переноса строки (\), показывающий, что с окончанием строки не заканчивается код. Например:

Выражения, которые находятся внутри скобок: квадратных ( [ ] ), фигурных ( < >) или круглых ( ( ) ) не нуждаются в символе переноса строки. Например:

Кавычки в Python:

В Python можно использовать одинарные ( ' ), двойные (") и тройные (''' или """) кавычки чтобы обозначить строчный тип данных, при этом начинаться и заканчиваться строка должна одинаковыми кавычками. Строка занимающая несколько строк кода должна быть обрамлена тройными кавычками. Например:

Комментирование в Python:

Например следующий код:

Выведет только Hello, Python в консоль.

Ввод нескольких инструкций на одной строке:

Точка с запятой ( ; ) позволяет вводить несколько инструкций на одной строке. Например:

Мобильная веб-разработка на Python становится все более популярной. И хотя Python изначально не создавался для создания ПО для смартфонов и планшетов, благодаря Kivy это стало возможным. Сегодня мы продолжаем рассматривать особенности использования этого фреймворка. В частности, поговорим о том, что такое язык дизайна KV, как создавать приложение Kivy, генерировать установочный apk-пакет, как создавать программу для iOS, используя Python.

Использование языка дизайна KV

В поставку Kivy входит язык KV, с помощью которого создается дизайн приложений. С помощью этого языка можно отдельно работать с дизайном, не затрагивая логику приложения. В него входит поддержка принципа разделения ответственности, и Kivy является частью архитектурного паттерна «Модель-Представление-Контроллер).

Давайте используем язык KV, чтобы внести некоторые изменения в предыдущий пример.

Первоначально такой синтаксис может показаться странным, поскольку создание кнопки осуществляется без каких-либо атрибутов. Также к ней не привязываются никакие события. Здесь Kivy пытается найти файл, имеющий такое же имя, как и у класса, только строчными буквами и без части App в названии.

В этом примере в качестве имени класса выступает ButtonApp . Следовательно, Kivy будет искать button.kv . Если такой файл есть в наличии, а его форматирование было выполнено правильно, то Kivy его будет использовать при загрузке UI.

Давайте попробуем создать такой файл и добавить следующий код:

Что делает каждая из этих строк?

  • Выполняет действия, аналогичные вызову Button в коде приложения на Python. Задача – осмотреть инициализированный объект для определения кнопки.
  1. Устанавливает значение text для кнопки.
  2. Устанавливает ширину и высоту кнопки. Для этого используется size_hint .
  3. Используя pos_hint устанавливает позицию кнопки.
  4. Устанавливает событие при нажатии on_press . Чтобы передать Kivy место обработчика событий, необходимо использовать app.on_press_button() . Здесь Kivy будет осуществлять поиск соответствующего метода в классе Application .

Разработчик может установить все виджеты и лейауты внутри одного либо нескольких файлов KV. Этот язык также умеет импортировать модули Python. При этом создаются динамические классы.

И это далеко не все, что он умеет. Более подробную информацию можно получить в официальной документации Kivy.

Теперь мы можем создать реальное приложение.

Как создать приложение Kivy?

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

  1. Сложение.
  2. Вычитание.
  3. Умножение.
  4. Деление.

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

В результате, калькулятор должен выглядеть так:

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

Принцип работы калькулятора следующий:

После выполнения всех этих действий создается обработчик .on_button_press() . Код будет таким.

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

И, наконец, мы добавляем функцию .on_solution() .

Здесь функция получает текстовые данные из solution , после чего задействуется функция eval() для вычислений. Если пользователем создается формула типа 1+2, то eval возвращает результат. В конце результат устанавливается в качестве нового значения виджета solution .

В некоторых случаях использование eval() не рекомендуется из-за запуска произвольного кода. Нередко разработчики Python стараются его не использовать как раз по такой причине. При этом, поскольку мы используем лишь целые числа, операторы и точку в качестве входных данных, то в этом примере eval() является довольно безопасной функцией.

Kivy - Создание мобильных приложений на Python (Часть 2)

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

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

Как создать apk-файл?

После того, как мы закончили создавать код программы Android, необходимо упаковать ее в apk-файл.

Сперва используем pip , чтобы инсталлировать пакет buildozer .

$ pip install buildozer

После этого нам нужно создать новую папку, а потом открыть ее в терминале. Затем дать такую инструкцию.

$ buildozer init

Затем создается файл buldozer.spec , использующийся для конфигурации сборки. Например, первые две строки файла спецификации можно редактировать так.

Фактически приложение уже готово к сборке, но необходимо установить зависимости. После того, как вы это сделаете, скопируйте программу в новую папку и переместите в main.py .

$ buildozer -v android debug

Kivy - Создание мобильных приложений на Python (Часть 2)

Через 15-20 минут будет создан файл, который переносим в смартфон и запускаем. После установки программы запускаем ее и получаем следующий результат.

Как создать приложение для iOS

iOS – вторая по популярности операционная система. Поэтому многие разработчики хотели бы создать мобильное приложение для нее.

Чтобы собрать приложение для iOS, необходимо воспользоваться компьютером под управлением OS X: MacBook, iMac.

Перед тем, как упаковать программу для iOS, выполните следующие команды.

После выполнения этих команд необходимо дать еще такие инструкции.

Если вам отображается ошибка, где говорится, что iphonesimulator не удалось найти, тогда попробуйте найти решение проблемы на StackOverflow .

Теперь вернитесь назад и запустите команду повторно.

После того, как эти команды будут выполнены, можно создать проект Xcode с использованием скрипта toolchain . Переименуйте приложение в main.py , а потом выполните следующую команду.

./toolchain.py create

Далее остается этот проект открыть в среде разработки и компилировать готовое приложение.

Большая шпаргалка для питониста на любой случай. Рассмотрены основные инструменты Python с примерами. Осторожно: много кода!

Инструменты Python: лучшая шпаргалка для начинающих

Думаете, что ничего нового не узнаете о "змеином" языке? Возможно. В целом здесь Python для начинающих. Но грамотно составленный чит-лист важен и нужен всем. Мы для вас его уже собрали. Пользуйтесь :)

Запускаем модуль как самостоятельную программу

Для выполнения функции main() при запуске модуля как программы необходимо поместить её после проверки атрибута __name__ .

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

Разумеется, эта строчка не выполняется при обычном импорте модуля из другого файла.

Приручаем Python списки

В языке Python удобно получать срез списка от элемента с индексом from_inclusive до to_exclusive с шагом step_size :

Посмотрите, как добавить элемент или коллекцию элементов в список:

А вот так мы расширим список другим списком:

Перейдём к прямой и обратной сортировке. Кроме reverse() и reversed() для обратной сортировки можно также использовать sort() и sorted() с флагом reverse=True .

Преобразовываем несколько списков в один:

Получаем список символов из строки:

Чтобы получить первый индекс элемента:

Делаем вставку и удаление по индексу:

Работаем со словарями

Получаем ключи, значения и пары ключ-значение из словарей:

Обязательно скопируйте себе этот код. Пригодится, чтобы получить элемент по ключу:

Python позволяет создавать словари со значениями по умолчанию.

Также можно создавать словари из последовательностей пар ключ-значение или из двух последовательностей:

Как и у Python списков, словари поддерживают операцию pop . Только удаление элемента происходит по ключу:

Смотрите, как красиво можно отфильтровать словарь по ключу:

Операции над множествами

Подобно спискам и словарям в Python, во множество можно добавить как один элемент, так и целую последовательность:

Конечно, куда без объединения, пересечения и вычисления разности множеств:

Инструменты Python: лучшая шпаргалка для начинающих

Хотите проверить, является ли коллекция элементов частью множества? Запросто:

Далее рассмотрим удаление элемента из множества. В первом случае операция бросит исключение при отсутствии элемента во множестве:

Именованный кортеж

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

Функции-генераторы

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

Определяем тип

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

Выполняем преобразования со строками Python

Очищаем строку от лишних пробелов или символов в начале и конце:

Разделяем строку по пробелу или разделителю sep :

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

Заменяем значение в строке со старого на новое:

Хотите проверить, начинается ли строка с определённого символа или подстроки? Можно передавать кортеж из строк для проверки сразу на несколько вариантов. То же самое и с проверкой окончания строки:

Также можно проверить, состоит ли строка только из числовых символов:

Об этом и многом другом подробнее можно почитать в книгах по Python. Ну а мы двигаемся дальше.

Передаём аргументы в функции

На первом месте при определении и вызове функции всегда находятся позиционные аргументы, а на втором - именованные:

В Python функциям можно передавать список аргументов произвольной длины. В этом случае последовательность *args передаётся в качестве позиционных аргументов. Пары ключ-значение из словаря **kwargs передаются как отдельные именованные аргументы:

Пишем компактно

Инструменты Python: лучшая шпаргалка для начинающих

Для этого удобно использовать такие инструменты Python, как анонимные функции и генераторы коллекций.

Создадим список от 1 до 10 в одну строку:

Также в Python есть генераторы множеств:

Согласитесь, изящное создание словаря:

Еще можно создать выражение-генератор, который возвращает объект с результатами по требованию:

Инструменты Python поддерживают функциональное программирование

Применяем функцию к каждому элементу последовательности:

Отфильтруем элементы последовательности, которые больше 5:

Следующая функция вычисляет сумму элементов последовательности:

Декораторы

Декоратор принимает функцию, добавляет дополнительную логику и возвращает её.

Например, декоратор для отладки, возвращающий имя функции при каждом вызове, выглядит следующим образом:

wraps - это вспомогательный декоратор, который копирует метаданные функции add() в функцию out() .

Без неё 'add.__name__' возвращает 'out' .

Создаём классы

Далее рассмотрим простейший класс. Метод __init__ вызывается при создании нового экземпляра класса. Метод __str__ вызывается при выполнении преобразования объекта в строку для вывода.

Конечно, классы могут наследоваться от других классов:

Обрабатываем исключения

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

Исключение можно возбудить программно с помощью инструкции:

Инструкция finally позволяет выполнить заключительные операции Python независимо от того, появилось исключение или нет:

Считываем стандартный ввод

Читаем строку из пользовательского ввода или именованного канала.

Символ новой строки в конце обрезается. Перед чтением ввода отображается строка подсказки prompt :

Аргументы командной строки

Для получения имени запущенного сценария и аргументов понадобится модуль sys :

Работа с файлами

Для того, чтобы открыть файл в Python, передаём путь

  • 'r' - чтение (по умолчанию)
  • 'w' - запись (предыдущее данные в файле удаляются)
  • 'x' - запись или ошибка, если файл уже существует
  • 'a' - добавление
  • 'w+' - чтение и запись (с предварительным удалением)
  • 'r+' - режим чтения и записи с начала
  • 'a+' - то же самое, только с конца
  • 't' - текстовый режим (по умолчанию)
  • 'b' - бинарный режим

Читаем текст из файла:

Пишем текст в файл:

Выполняем обработку каталогов

Чтобы создавать системные инструменты в Python, используйте модуль стандартной библиотеки os . Его прелесть в том, что он пытается предоставить переносимый интерфейс для операционной системы. Например, проверим, существует ли путь path , является ли он файлом или директорией:

Отобразим список файлов и директорий в каталоге:

Модуль glob реализует механизм подстановки имён файлов. Найдём все файлы с расширением .jpg:

Стандартные инструменты Python позволяют хранить объекты

В стандартной библиотеке Python есть модуль pickle , который позволяет сохранять и восстанавливать объекты:

Таким образом можно извлечь объекты из файла:

Для записи объектов файл достаточно выполнить:

Используем интерфейс для базы данных SQLite

Выполняем подключение к базе данных. Не забываем закрыть его после выполнения всех операций:

Для чтения из базы передаём запрос в метод execute :

Чтобы внести запись в базу, одного запроса недостаточно. Обязательно нужно сохранить транзакцию:

Читайте также: