Основы Python: первые шаги в программировании

Раздел: Обучение Python -> Основы синтаксиса

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

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

Переменные и присваивание

Переменная создается в момент присваивания значения. Тип определяется автоматически.

name = "Анна"
age = 25
height = 1.68
is_student = True

Python определение функции (определение функции в python)

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

a, b, c = 1, 2, 3

Positional argument python (позиционные аргументы в python)

Типичная ошибка: использование неопределенной переменной вызовет NameError. Всегда проверять инициализацию.

Как объявить переменную и присвоить значение?

Способы различаются по количеству переменных и читаемости.

Одиночное присваивание - самый распространенный вариант:

x = 10

базовые коды в python (базовые коды на python)

Множественное с кортежем - удобно в циклах:

x, y = 10, 20

запись переменных в python (объявление и запись переменных в python)

Присваивание с распаковкой:

numbers = [1, 2, 3]
a, b, c = numbers

как закоментить несколько строк в python (комментирование блоков кода в python)

Ошибка: несоответствие количества элементов вызовет ValueError. Проверять длину последовательности.

Обмен значений без временной переменной:

a, b = b, a

несколько значений в переменной python (присваивание нескольких значений переменным в python)

Какие базовые типы данных существуют?

Python предоставляет несколько встроенных типов: целые числа (int), числа с плавающей точкой (float), строки (str) и булевы значения (bool).

Примеры:

age = 30          # int
temperature = 36.6 # float
city = "Москва"    # str
is_active = False  # bool

новая переменная в python (создание новой переменной в python)

Тип можно проверить функцией type():

print(type(age))   # 

Частая путаница: сложение числа и строки приводит к TypeError. Преобразовывать типы явно (int(), str()).

Как выполнить условное ветвление?

Конструкция if-elif-else управляет выполнением кода в зависимости от условий.

score = 85
if score >= 90:
    grade = "Отлично"
elif score >= 75:
    grade = "Хорошо"
else:
    grade = "Нужно улучшить"
print(grade)

Распространенная ошибка: отсутствие двоеточия после условия и неправильные отступы вызывают IndentationError. Использовать 4 пробела.

Как организовать цикл?

Циклы for и while повторяют действия несколько раз.

Цикл for перебирает элементы последовательности:

fruits = ["яблоко", "банан", "вишня"]
for fruit in fruits:
    print(fruit)

Цикл while выполняется, пока истинно условие:

count = 0
while count < 3:
    print("Итерация", count)
    count += 1

Бесконечный цикл: если условие никогда не станет ложным. Убедиться, что переменная изменяется внутри цикла.

Как определить и вызвать функцию?

Функции создаются с помощью def. Они могут принимать параметры и возвращать результат.

def greet(name):
    """Возвращает приветствие."""
    return "Привет, " + name + "!"

message = greet("Олег")
print(message)

Функция без return возвращает None.

Ошибка: забыли вернуть значение - переменная получит None. Использовать return явно.

Как работать со списками?

Список - изменяемая упорядоченная коллекция. Элементы индексируются с нуля.

colors = ["красный", "зеленый", "синий"]
print(colors[0])        # красный
colors.append("желтый") # добавление
print(len(colors))      # 4

Срезы позволяют получить подсписок:

first_two = colors[:2]  # ['красный', 'зеленый']

Внимание: выход за границы списка вызывает IndexError. Проверять длину перед обращением.

Как работать со строками?

Строки - неизменяемые последовательности символов. Поддерживают срезы и методы.

word = "Python"
print(word[0])       # P
print(word[-1])      # n
print(word[1:4])     # yth
print(word.upper())  # PYTHON

Конкатенация через + или f-строки:

name = "Мир"
greeting = f"Привет, {name}!"

Ошибка: попытка изменить строку по индексу вызовет TypeError. Создавать новую строку.

Как использовать словари?

Словарь хранит пары ключ-значение. Ключи уникальны, изменяемы.

person = {"name": "Иван", "age": 30, "city": "Казань"}
print(person["name"])  # Иван
person["age"] = 31     # изменение
person["job"] = "инженер" # добавление

Итерация по ключам:

for key in person:
    print(key, person[key])

Проблема: обращение к несуществующему ключу вызывает KeyError. Использовать метод get() с значением по умолчанию.

Расширенные примеры кода, выходящие за рамки базового синтаксиса.

Списочное включение (list comprehension)

Пример
squares = [x**2 for x in range(10) if x % 2 == 0]
print(squares)
[0, 4, 16, 36, 64]

Компактная замена циклу for с фильтрацией.

Ошибка: чрезмерное усложнение делает код нечитаемым. Использовать для простых преобразований.

Генераторы

Пример
def count_up_to(n):
    i = 1
    while i <= n:
        yield i
        i += 1

for num in count_up_to(3):
    print(num)
1
2
3

Генераторы экономят память при работе с большими последовательностями.

Работа с файлами

Пример
with open("example.txt", "w", encoding="utf-8") as f:
    f.write("Hello, file!\n")

with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)
Hello, file!

Конструкция with гарантирует закрытие файла даже при ошибке.

Обработка исключений

Пример
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Деление на ноль!")
else:
    print("Результат:", result)
finally:
    print("Блок выполняется всегда")
Деление на ноль!
Блок выполняется всегда

Блоки try-except-else-finally обрабатывают ошибки без остановки программы.

Лямбда-функции

Пример
add = lambda a, b: a + b
print(add(3, 5))
8

Анонимные функции удобны для кратких операций, особенно с map(), filter().

Импорт модулей

Пример
import math
print(math.sqrt(16))

from datetime import datetime
print(datetime.now())
4.0
2025-04-08 15:23:45.123456

Модули расширяют возможности: математические операции, работа с датой, случайные числа и т.д.

Работа с множествами

Пример
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)  # объединение
print(a & b)  # пересечение
{1, 2, 3, 4, 5}
{3}

Множества удаляют дубликаты и поддерживают операции теории множеств.

Базовые коды на Python - comments

En
базовые коды в python (python)