Вы здесь

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 не требуют объявления типа переменной и являются ссылками на область памяти.
Правила именования переменных:

  • имя переменной может состоять только из букв, цифр и знака подчёркивания;
  • имя не может начинаться с цифры
  • имя не может содержать специальных символов @, $, %

Пример создания переменных в Python:
python_07_ciscomaster.ru.jpg

Переменные являются ссылками на область памяти. Это можно продемонстрировать с помощью id(), которая показывает идентификатор объекта:

In [14]: a = b = c = 33 In [15]: id(a) Out[15]: 2146014358832 In [16]: id(b) Out[16]: 2146014358832 In [17]: id(c) Out[17]: 2146014358832

Имена переменных

  • имена переменных обычно пишутся или полностью большими или полностью маленькими буквами (например DB_NAME, db_name);
  • имена функций задаются маленькими буквами, с подчёркиваниями между словами (например, get_names);
  • имена классов задаются словами с заглавными буквами без пробелов, это так называемый CamelCase (например, CiscoSwitch).

Типы данных в Python

В Python есть несколько стандартных типов данных:
- Numbers (числа)
- Strings (строки)
- Lists (списки)
- Dictionaries (словари)
- Tuples (кортежи)
- Sets (множества)
- Boolean (логический тип данных)

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

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

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image