Найти в Дзене
Николай Калюжный

Python - Выражения и операторы (IV-V)

Выражение в Python — это комбинация значений, переменных, операторов и функций, которая при вычислении приводит к одному значению. Эти выражения могут быть простыми, например для выполнения арифметических операций, или более сложными, включающими вложенные выражения и функции. Выражения имеют решающее значение для написания эффективного и читабельного кода на языке Python и широко используются в условных операторах, циклах и вызовах функций. В Python 1 + 1 называется выражением, которое является самой основной инструкцией по программированию в языке. Выражение состоит из значений (таких как 1) и операторы (такие как +) и они всегда могут оценить с точностью до одного значения. 1 + 1 Вычисляется до одного значения, равного 2. Одно значение без операторов также считается выражением (оно вычисляется только для самого себя) В Python, когда мы говорим о выражениях, мы, по сути, обсуждаем способ, которым мы сообщаем компьютеру что-то сделать с нашими данными. Думайте о выражении как о просто
Оглавление

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

В Python 1 + 1 называется выражением, которое является самой основной инструкцией по программированию в языке. Выражение состоит из значений (таких как 1) и операторы (такие как +) и они всегда могут оценить с точностью до одного значения.

1 + 1 Вычисляется до одного значения, равного 2. Одно значение без операторов также считается выражением (оно вычисляется только для самого себя)

Объясните это так, как будто мне 5 лет

В Python, когда мы говорим о выражениях, мы, по сути, обсуждаем способ, которым мы сообщаем компьютеру что-то сделать с нашими данными. Думайте о выражении как о простой инструкции, которая объединяет такие вещи, как числа, текст или значения true/false для получения нового результата.

Например, выражение 1 + 1 говорит Python сложить два числа, что дает нам 2. Это простой способ дать компьютеру небольшую задачу, которую он решает, чтобы дать нам ответ. И дело не только в цифрах; Мы можем смешивать различные типы данных, такие как текст (который мы называем «строками») или даже решения (истинные или ложные значения, которые мы называем «логическими значениями»).

Давайте разберем типы выражений, которые вы будете часто использовать:

  • Выполнение математических операций с арифметическими выражениями: Так же, как в школе, можно добавить (+), вычесть (-), умножаем (*), и разделить (/) в Python. Например, сложение двух чисел может выглядеть следующим образом sum = 3 + 5, что дает нам 8.
  • Создание текста с помощью строковых операций: Мы также можем складывать кусочки текста вместе. Если у вас есть "Hello" и "World!", вы можете объединить их в "Hello World!" использование +.
  • Принятие решений с помощью булевых выражений: Иногда нам нужно делать выбор, основываясь на определенных условиях. Например, сравнивая два значения, мы можем решить, верно что-то или нет, например is_equal = (5 > 3), который говорит нам True Потому что 5 действительно больше 3.

Понимание операторов

Операторы — это просто символы или слова, которые сообщают Python, какую операцию выполнять с данными. Вот основы:

  • Арифметические операторы - Такие символы, как +, -, *, / выполнять математические операции.
  • Операторы сравнения - Они помогают нам сравнивать значения с помощью таких символов, как == (равно), != (не равно), > (больше), и < (меньше, чем) рассказ о том, как две ценности соотносятся друг с другом.
  • Логические операторы - Такие слова, как and, or, not Помогите нам объединить или изменить значения true/false.

Типы выражений и примеры (мне уже не 5)

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

Арифметические выражения

Арифметические выражения выполняют математические операции, такие как сложение, вычитание, умножение и деление. Они используются с числовыми типами данных (целыми числами и числами с плавающей точкой) для вычисления значений.

# Calculating the sum of two numbers sum = 7 + 3 # Evaluates to 10
# Multiplying two numbers product = 4 * 5 # Evaluates to 20

Строковые операции

Строковые выражения включают в себя операции со строками (текстовыми данными). Наиболее распространенной операцией является конкатенация, при которой две или более строки соединяются вместе для формирования новой строки.

# Concatenating strings greeting = "Hello" + " " + "World!" # Evaluates to "Hello World!"
print(greeting)

Логические выражения

Логические выражения оцениваются как True или False. Они часто используются в условиях и включают в себя операторы сравнения и логические операторы.

# Comparing two values is_equal = (10 == 10) # Evaluates to True
# Using logical operators is_valid = (5 > 3) and (10 < 12) # Evaluates to True because both conditions are true

Основные операторы в выражениях

Арифметические операторы

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

ОператорОперацияПримерОценивает как**Показатель2 ** 38%Модуль16 % 31//Целочисленное деление16 // 35/Деление16 / 35.33*Умножение3 * 26-Вычитание6 - 33+Сложение6 + 39

Операторы сравнения

Операторы сравнения сравнивают два значения и возвращают логическое значение (True или False)

  • == Равно - Проверяет, равны ли два значения.
  • != Not equalto - Проверяет, не равны ли два значения.
  • > Больше — проверяет, больше ли левое значение правого.
  • < Меньше - Проверяет, меньше ли левое значение правого.
  • >= Больше или равно — проверяет, больше или равно ли левое значение правому значению.
  • <= Меньше или равно - Проверяет, является ли левое значение меньше или равно правому значению.

Обратите внимание, что операторы сравнения очень важны и полезны для автоматизации сети. Например, предположим, что я хочу изменить описания портов на всех портах, принадлежащих определенной сети VLAN 10. Когда вы создаете свой скрипт на Python, вы говорите что-то вроде: "Если VLAN == 10, описание - USER-VLAN". Так что, пожалуйста, не торопитесь, чтобы попрактиковаться в этом.

Логические операторы

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

  • and Возвращает значение True, если оба утверждения имеют значение True.
  • or Возвращает значение True, если одно из утверждений имеет значение True.
  • not Переворачивает результат, возвращая значение False, если результат имеет значение True.

ВыражениеОценивает какПравда и правдаИстинныйПравда и ложьЛожныйЛожь и правдаЛожныйЛожь и ложьЛожный

Операторы членства

Операторы членства проверяют, присутствует ли последовательность в объекте. Двумя операторами членства являются: in и not in.

x = ["apple", "banana"]
print("banana" in x) # True because "banana" is in the list x print("cherry" not in x) # True because "cherry" is not in the list x

Операторы идентификации

Операторы идентификации проверяют, относятся ли две переменные к одному и тому же объекту в памяти. Два оператора идентификации: is и is not.

x = ["apple", "banana"] y = ["apple", "banana"] z = x

print(x is z) # True because z is the same object as x print(x is y) # False because x and y are different objects with the same content print(x is not y) # True because x and y are not the same object

💡

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

  • Тем is Оператор проверяет идентичность объекта, а не равенство. Это полезно для определения того, указывают ли две переменные на один и тот же объект.
  • Использование is not чтобы проверить, не относятся ли две переменные к одному и тому же объекту, убедившись, что вы работаете с разными сущностями.
  • Проверка идентичности имеет решающее значение, когда логика вашей программы зависит от того, указывают ли переменные на один и тот же экземпляр объекта, особенно в сложных структурах данных и объектно-ориентированном программировании.
  • По моему личному опыту, я не очень часто этим пользуюсь.

Примеры работы в сети

Давайте посмотрим, как мы можем применить эти концепции в простом сетевом сценарии.

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

# String expression for IP address formatting subnet = "192.168.1." host_id = 14 ip_address = subnet + str(host_id) # Converts host_id to string and concatenates
print("IP Address:", ip_address) # Outputs: IP Address: 192.168.1.14
# Arithmetic expression for calculating the number of hosts in a /24 subnet subnet_mask = 24 hosts = 2 ** (32 - subnet_mask) - 2 # Calculates hosts in a subnet
print("Number of hosts:", hosts) # Outputs: Number of hosts: 254

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

# Calculating the total bandwidth requirement users = 50 bandwidth_per_user = 2.5 # in Mbps total_bandwidth = users * bandwidth_per_user

print("Total bandwidth required:", total_bandwidth, "Mbps")
# Checking if the total bandwidth exceeds a certain limit limit = 100 # Mbps is_exceeding = total_bandwidth > limit

print("Is the bandwidth exceeding the limit?", is_exceeding)

💡

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

Упражнение

Задание 1: Сравнение списков

  1. Создайте два списка с одинаковым содержимым, скажем list1 = [1, 2, 3] и list2 = [1, 2, 3], а третий список, которому присваивается значение первого списка, скажем list3 = list1.
  2. Использование оператора идентификации is для сравнения list1 и list2И потом list1 и list3. Распечатайте результаты.
  3. Подумайте, почему результаты отличаются, учитывая, как Python выделяет память для идентичных списков, объявленных независимо друг от друга.

Задача 2: Проверка совпадения IP-адреса

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

Резолюция:

  1. Назначение двух IP-адресов переменным ip_address1 и ip_address2. Для простоты воспользуемся "192.168.1.1" для ip_address1 и "192.168.1.1" или "10.0.0.1" для ip_address2.
  2. Сравните эти IP-адреса с помощью команды == и распечатайте результат. Это сообщит вам, совпадают ли IP-адреса.
  3. Кроме того, сравните IP-адреса с помощью команды != и распечатайте результат. Это укажет, отличаются ли IP-адреса.

Python - Управление потоком (V)

В программировании управление потоком — это принятие решений в коде. Это то, как вы можете указать своей программе выполнять различные части кода на основе определенных условий или повторять какое-то действие несколько раз. Эта способность контролировать поток выполнения имеет основополагающее значение, поскольку она позволяет вашим программам динамически реагировать на различные входные данные и ситуации.if, elif и else
Python, как и другие языки программирования, предоставляет несколько конструкций для управления потоком, в том числе if, elifи else операторы для условного выполнения, а также циклы для повторения действий. В этом разделе мы сосредоточимся на условных операторах.Условные операторы позволяют программе выполнять определенные блоки кода в зависимости от того, истинно условие или нет. Эта концепция сродни принятию решений в реальной жизни на основе имеющейся у вас информации. Например, если идет дождь, вы можете взять с собой зонт. В программе на Python вы можете написать аналогичное условие, чтобы решить, какое действие предпринять на основе данных, с которыми вы работаете.Давайте разберем синтаксис и логику if, elifи else на языке Python. Эти операторы позволяют программе оценивать условия и выполнять определенные блоки кода в зависимости от результата этих оценок.Оператор 'if'
Тем if — это самая простая форма условного выполнения в Python. Он проверяет условие, и если это условие оценивается как True, он выполняет блок кода с отступом под ним.if condition: # Block of code executes if the condition is True

  • состояние- Это выражение, результатом вычисления которого является либо True или False.
  • Если условие True, блок code под тегом if Прогоны операторов.
  • Если условие Falseблок кода пропускается.

Заявление 'elif'

elif является сокращением от "else if" (иначе если). Он позволяет проверять несколько условий после if утверждение. Если условие для if Заявление является False, он переходит к elif состояние, проверяет его, и если это True, выполняет блок кода под ним.

if condition1: # Executes this block if condition1 is True elif condition2: # Executes this block if condition1 is False and condition2 is True

  • У вас может быть несколько elif Заявления после if, позволяющий проверить ряд условий.
  • Каждый elif проверяется по порядку. Один раз elif Состояние оценивается как True, его блок выполняется, а остальная часть блока elif Блоки пропускаются.

Оператор 'else'

Тем else перехватывает все, что не перехватывается предыдущим if и elif условия. У него нет условия; Вместо этого он выполняет свой блок кода, если все предыдущие условия False.

if condition1: # Executes this block if condition1 is True elif condition2: # Executes this block if condition1 is False and condition2 is True else: # Executes this block if all the above conditions are False

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

Логическая цепочка

Логическая цепочка этих утверждений работает следующим образом.

  1. Тем if Сначала проверяется состояние. Если это True, его блок выполняется, а программа пропускает любой elif или else Блоки.
  2. Если метод if условие равно False, программа проверяет elif условия в порядке их появления. Первый elif условие, которое оценивается как True выполняет свой блок, после чего программа выходит из условной структуры.
  3. Если ни один из if или elif Условия таковы: True, и else существует, то else блок.

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

Простой пример

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

# Variable storing the router's operational status router_status = "up"
# Conditional checks using if, elif, and else if router_status == "up": print("The router is operational") elif router_status == "down": print("The router is down") elif router_status == "maintenance": print("maintenance mode") else: print("Unknown router status")

  • Если метод status есть "up", он выводит, что маршрутизатор работоспособен.
  • Если метод status Изменения в "down", он предлагает проверить соединения или конфигурации.
  • Если метод status есть "maintenance", это указывает на то, что маршрутизатор находится на техническом обслуживании.
  • Тем else Часть охватывает любой статус, который не распознается, выводя сообщение о неизвестном статусе.

Условные упражнения

Объективный- Напишите скрипт на языке Python, который попросит пользователя ввести текущий час (в 24-часовом формате), а затем распечатает персонализированное приветствие на основе времени суток.

  1. Предложите пользователю ввести текущий час (например, 9, 14, 23) в виде целого числа.
  2. На основе введенных данных выведите приветствие следующим образом.«Доброе утро!», если час между 5 и 11 (включительно).
    «Добрый день!», если час между 12 и 17 (включительно).
    «Добрый вечер!», если час между 18 и 21 (включительно).
    «Спокойной ночи!», если час между 22 и 4 (включительно).
  3. Если пользователь вводит неверный час (меньше 0 или больше 23), выведите «Неверный ввод».

Вот ответ, но прежде чем вы посмотрите на него, пожалуйста, попробуйте сами 😄