Найти в Дзене

Изучаем Python. Часть 2. Основы синтаксиса

Python отличается от других языков отсутствием фигурных скобок для определения блоков кода. Вместо этого он использует отступы, что делает код более читаемым и структурированным. Это обязательное требование приводит к единообразию и помогает избежать ошибок, связанных с неправильным форматированием. Каждая инструкция в Python завершается новой строкой, а не точкой с запятой, как в некоторых других языках. Вы можете использовать обратный слеш (`\`) для разделения длинных инструкций на несколько строк. Python также поддерживает комментарии, которые начинаются с символа `#` и используются для объяснения кода. Пример простой программы на Python: def greet(name): print(f'Привет, {name}!') greet('Мир') В этом примере `def` используется для определения функции, а отступы позволяют указать, какие строки принадлежат телу функции. Переменные — это именованные контейнеры для хранения данных. Python является языком с динамической типизацией, то есть вам не нужно указывать тип данных при соз
Оглавление

Основы синтаксиса

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

Каждая инструкция в Python завершается новой строкой, а не точкой с запятой, как в некоторых других языках. Вы можете использовать обратный слеш (`\`) для разделения длинных инструкций на несколько строк. Python также поддерживает комментарии, которые начинаются с символа `#` и используются для объяснения кода.

Пример простой программы на Python:

def greet(name):
print(f'Привет, {name}!')
greet('Мир')

В этом примере `def` используется для определения функции, а отступы позволяют указать, какие строки принадлежат телу функции.

Переменные и типы данных

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

Пример:

x = 10 # Целое число
y = 3.14 # Число с плавающей точкой
name = 'Python' # Строка
is_active = True # Логическое значение

Основные типы данных в Python:

1. int — Целые числа (например, 1, -10, 0)

2. float — Числа с плавающей точкой (например, 3.14, -0.5, 2.0)

3. str — Строки, представляющие текст (например, 'Hello', "Python")

4. bool — Логические значения (True или False)

5. complex — Комплексные числа (например, 3+4j)

Вы можете использовать функцию `type()` для проверки типа переменной:

print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>

Коллекции данных в Python

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

Списки

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

Пример:

fruits = ['яблоко', 'банан', 'вишня']
fruits.append('апельсин') # Добавление элемента
print(fruits)

Основные методы списков:

- append()— добавляет элемент в конец списка

- remove() — удаляет первый найденный элемент по значению

- pop([index]) — удаляет элемент по индексу и возвращает его значение (если индекс не указан, удаляется последний элемент)

- insert(index, value) — вставляет элемент по указанному индексу

- sort() — сортирует список по возрастанию (или с использованием функции ключа)

- reverse() — изменяет порядок элементов на обратный

- index(value) — возвращает индекс первого найденного элемента по значению

- count(value) — возвращает количество вхождений элемента в список

Пример использования методов:

numbers = [3, 1, 4, 1, 5, 9]
numbers.sort()
print(numbers) # [1, 1, 3, 4, 5, 9]
numbers.reverse()
print(numbers) # [9, 5, 4, 3, 1, 1]

Кортежи

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

Пример:

coordinates = (10, 20)
print(coordinates[0])

Преимущества кортежей:

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

- Быстродействие: операции с кортежами выполняются быстрее, чем с эквивалентными списками.

Кортежи могут быть использованы для множественного присваивания:

x, y = coordinates
print(x, y) # 10 20

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

Словари

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

Пример:

person = {'имя': 'Иван', 'возраст': 25}
print(person['имя']) # 'Иван'

Методы словарей:

- keys() — возвращает все ключи словаря в виде специального объекта (который можно преобразовать в список)

- values() — возвращает все значения словаря

- items() — возвращает пары (ключ, значение)

- get(key, [default]) — возвращает значение по ключу, если ключ существует, иначе возвращает значение по умолчанию

- pop(key) — удаляет элемент по ключу и возвращает его значение

- update(dict) — обновляет словарь, добавляя пары ключ-значение из другого словаря

Пример использования методов словаря:

person['город'] = 'Москва' # Добавление нового ключа
print(person)
for key, value in person.items():
print(f'{key}: {value}')

Множества

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

Пример:

numbers = {1, 2, 3}
numbers.add(4)
print(numbers)

Методы множеств:

- add() — добавляет элемент в множество

- remove() — удаляет элемент, если он существует (вызывает ошибку, если элемента нет)

- discard() — удаляет элемент, если он существует (не вызывает ошибку, если элемента нет)

- union(set) — возвращает объединение двух множеств

- intersection(set) — возвращает пересечение двух множеств

- difference(set) — возвращает разность множеств

Пример использования математических операций с множествами:

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a.union(b)) # {1, 2, 3, 4, 5, 6}
print(a.intersection(b)) # {3, 4}
print(a.difference(b)) # {1, 2}

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

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

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

1. `+` Сложение

2. `-` Вычитание

3. `*` Умножение

4. `/` Деление (результат всегда `float`)

5. `//` Целочисленное деление (отбрасывает остаток)

6. `%` Остаток от деления

7. `**` Возведение в степень

Пример:

x = 10
y = 3
print(x + y) # 13
print(x ** y) # 1000

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

Логические операторы позволяют комбинировать булевы выражения:

1. `and` Логическое И

2. `or` Логическое ИЛИ

3. `not` Логическое НЕ

Пример:

x = True
y = False
print(x and y) # False
print(not x) # False

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

Операторы сравнения используются для сравнения двух значений и возвращают `True` или `False`:

1. `==` Равно

2. `!=` Не равно

3. `<` Меньше

4. `>` Больше

5. `<=` Меньше или равно

6. `>=` Больше или равно

Пример:

x = 10
y = 20
print(x < y) # True
print(x == y) # False

Заключение

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