Вы здесь

Python. 1.0 Основы Python

Данный материал выполнен в виде краткого конспекта на основе источника:
Python для сетевых инженеров
https://pyneng.readthedocs.io/ru/latest/contents.html
Изменения и дополнения введены с целью собственного обучения и адаптации под свои знания и задачи.

ОС и редактор

Для запуска Python используется win10.
Редактирование кода на notepad++
Версия Python: Python 3.8.12

Установка Python

https://www.python.org/downloads/release/python-396/
Скачал Windows installer (64-bit)

Запускаем:
python_01_ciscomaster.ru.jpg
python_02_ciscomaster.ru.jpg

Проверяем правильность установки:
python_03_ciscomaster.ru.jpg

Синтаксис Python

В коде Python отступы имеют значение:

- они определяют, какой код попадает в блок;
- когда блок кода начинается и заканчивается.

Пример:

a = 10 b = 5 if a > b: print("A больше B") print(a - b) else: print("B больше или равно A") print(b - a) print("Конец") def open_file(filename): print("Чтение файла", filename) with open(filename) as f: return f.read() print("Готово")

Несколько правил и рекомендаций по отступам:

  • В качестве отступов могут использоваться табы или пробелы (лучше использовать пробелы, а точнее, настроить редактор так, чтобы таб был равен 4 пробелам – тогда при использовании клавиши табуляции будут ставиться 4 пробела, вместо 1 знака табуляции).
  • Количество пробелов должно быть одинаковым в одном блоке (лучше, чтобы количество пробелов было одинаковым во всём коде – популярный вариант, это использовать 2-4 пробела, так, например, в этой книге используются 4 пробела).

Комментарии

Комментарии в Python могут быть однострочными:

# Очень важный комментарий a = 10 b = 5 # Очень нужный комментарий

Комментарии в Python могут быть многострочными:

""" Очень важный и длинный комментарий """ a = 10 b = 5

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

Интерпретатор Python. IPython

Интерпретатор позволяет получать моментальный отклик на выполненные действия. Можно сказать, что интерпретатор работает как CLI (Command Line Interface) сетевых устройств: каждая команда будет выполняться сразу же после нажатия Enter. Однако есть исключение – более сложные объекты (например циклы или функции) выполняются только после двухкратного нажатия Enter.

Cтандартный интерпретатор вызывается по команде python.
python_04_ciscomaster.ru.jpg

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

  • автодополнение команд по Tab или подсказка, если вариантов команд несколько;
  • более структурированный и понятный вывод команд;
  • автоматические отступы в циклах и других объектах;
  • можно передвигаться по истории выполнения команд, или же посмотреть её «волшебной» командой %history.

Установить IPython можно с помощью pip

pip install ipython

После этого:
python_05_ciscomaster.ru.jpg

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

C:\Users\vorav>ipython Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 7.29.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: print('Hello!') Hello! In [2]: 1+2 Out[2]: 3 In [3]: for i in range(5): ...: print(i) ...: 0 1 2 3 4 In [4]:

help()

В IPython есть возможность посмотреть справку по произвольному объекту, функции или методу с помощью help():

In [4]: help(str)

или:

In [5]: ?str

print()

Функция print() позволяет вывести информацию на стандартный поток вывода (текущий экран терминала). Если необходимо вывести строку, то её нужно обязательно заключить в кавычки (двойные или одинарные). Если же нужно вывести, например, результат вычисления или просто число, то кавычки не нужны:

In [6]: print('Hello!') Hello! In [7]: print(5+5) 10

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

dir()

Функция dir() может использоваться для того, чтобы посмотреть, какие имеются атрибуты (переменные, привязанные к объекту) и методы (функции, привязанные к объекту).

Например, для числа вывод будет таким (обратите внимание на различные методы, которые позволяют делать арифметические операции):

In [8]: dir(5) Out[8]: ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__',

Специальные команды ipython
%history

позволяет просмотреть историю введённых пользователем команд в текущей сессии IPython

%time

показывает сколько секунд выполнялось выражение

Переменные

Переменные в Python не требуют объявления типа переменной и являются ссылками на область памяти.
Правила именования переменных:

  • имя переменной мож