Основы синтаксиса
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 — это мощный инструмент для создания приложений в самых разных областях. Практикуйтесь и экспериментируйте, чтобы стать профессионалом!