Python для новичков: 15 примеров кода от простого к сложному

Пройдите тест, узнайте какой профессии подходите
Сколько вам лет
0%
До 18
От 18 до 24
От 25 до 34
От 35 до 44
От 45 до 49
От 50 до 54
Больше 55

Для кого эта статья:

  • Новички в программировании без опыта
  • Студенты и взрослые, стремящиеся сменить профессию на IT
  • Люди, желающие освоить Python для практического применения в различных областях

    Python — язык, который сокращает путь от новичка до программиста в разы быстрее других технологий. Его код читается как английский текст, что делает его идеальным первым языком для тех, кто никогда не писал ни строчки кода. Я собрал 15 базовых примеров Python-кода, которые позволят вам с нуля понять логику программирования и создать свои первые работающие скрипты — от простой математики до автоматизации рутинных задач. 🐍 Готовы превратить компьютер в инструмент, выполняющий ваши команды?

Хотите за 9 месяцев пройти путь от нуля до востребованного Python-разработчика? Обучение Python-разработке от Skypro даёт реальную практику с первых недель: вы создадите собственное портфолио из 15 проектов под руководством действующих разработчиков. Программа построена на основе запросов от 100+ IT-компаний, поэтому 85% выпускников находят работу в течение 3 месяцев после окончания. Нет тестирований при поступлении — только ваше желание учиться!

Почему Python идеален для новичков в программировании

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

Сравним простую задачу вывода текста на экран на Python и C++:

Python C++
print("Привет, мир!") #include <iostream><br>int main() {<br>&nbsp;&nbsp;std::cout << "Привет, мир!" << std::endl;<br>&nbsp;&nbsp;return 0;<br>}

Разница очевидна — Python требует всего одну строку кода, тогда как C++ нуждается в нескольких строках с дополнительными конструкциями. Эта простота позволяет сосредоточиться на алгоритмическом мышлении, а не на синтаксических особенностях.

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

  • Анализ данных и наука о данных (pandas, NumPy)
  • Машинное обучение и искусственный интеллект (TensorFlow, PyTorch)
  • Веб-разработка (Django, Flask)
  • Автоматизация (Selenium, PyAutoGUI)
  • Разработка игр (Pygame)

Ещё одно преимущество Python — высокий спрос на рынке труда. По данным HackerRank 2023, Python занимает второе место среди языков, которые работодатели ищут в кандидатах, уступая только JavaScript. Средняя зарплата Python-разработчика в России колеблется от 120 000 до 350 000 рублей, что делает его привлекательным выбором для начала карьеры. 💼

Максим Петров, преподаватель программирования

Когда я начал преподавать программирование в 2018 году, мои студенты постоянно спотыкались о синтаксические конструкции Java и C++. Часто они не могли сосредоточиться на алгоритмической части из-за ошибок в скобках или точках с запятой. Переход на Python в качестве первого языка для обучения изменил ситуацию кардинально — количество успешно завершивших курс выросло на 40%.

Особенно запомнился случай с Анной, 45-летним бухгалтером, решившей сменить профессию. Она пыталась изучать программирование самостоятельно по C++, но отчаялась через месяц. После перехода на Python она создала свой первый работающий скрипт для анализа финансовых данных уже через неделю занятий. Сейчас Анна работает аналитиком данных и использует Python ежедневно.

Пошаговый план для смены профессии

Базовые Python-коды для работы с переменными и типами данных

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

Пример 1: Создание переменных и базовые операции

Python
Скопировать код
# Создание числовых переменных
x = 10
y = 5

# Базовые математические операции
сумма = x + y # 15
разность = x – y # 5
произведение = x * y # 50
деление = x / y # 2.0
остаток = x % y # 0
степень = x ** y # 100000

print(f"Сумма: {сумма}, Произведение: {произведение}, Степень: {степень}")

Обратите внимание, что Python позволяет использовать кириллические имена переменных, хотя в профессиональной разработке это не рекомендуется. f-строки (f"текст {переменная}") — удобный способ форматирования текста, появившийся в Python 3.6.

Пример 2: Работа со строками

Python
Скопировать код
# Создание строковых переменных
имя = "Алексей"
фамилия = "Иванов"

# Конкатенация (сложение) строк
полное_имя = имя + " " + фамилия # "Алексей Иванов"

# Повторение строки
приветствие = "Привет! " * 3 # "Привет! Привет! Привет! "

# Методы строк
нижний_регистр = полное_имя.lower() # "алексей иванов"
верхний_регистр = полное_имя.upper() # "АЛЕКСЕЙ ИВАНОВ"
замена = полное_имя.replace("Иванов", "Петров") # "Алексей Петров"

print(f"Полное имя: {полное_имя}")
print(f"Приветствие: {приветствие}")

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

Пример 3: Списки и их методы

Python
Скопировать код
# Создание списка
фрукты = ["яблоко", "банан", "апельсин", "груша"]

# Доступ к элементам
первый_фрукт = фрукты[0] # "яблоко"
последний_фрукт = фрукты[-1] # "груша"

# Изменение элемента
фрукты[1] = "киви" # Список станет: ["яблоко", "киви", "апельсин", "груша"]

# Методы списков
фрукты.append("манго") # Добавление в конец
фрукты.insert(1, "ананас") # Вставка на позицию 1
фрукты.remove("апельсин") # Удаление по значению
длина = len(фрукты) # Получение длины списка

print(f"Обновленный список: {фрукты}")
print(f"Количество фруктов: {длина}")

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

Пример 4: Словари для хранения пар ключ-значение

Python
Скопировать код
# Создание словаря
студент = {
"имя": "Мария",
"возраст": 20,
"курсы": ["Python", "Data Science", "Web Development"],
"средний_балл": 4.8
}

# Доступ к значениям
имя_студента = студент["имя"] # "Мария"
первый_курс = студент["курсы"][0] # "Python"

# Добавление новой пары ключ-значение
студент["группа"] = "А-101"

# Методы словарей
все_ключи = студент.keys() # Получение всех ключей
все_значения = студент.values() # Получение всех значений

print(f"Студент: {имя_студента}, изучает: {студент['курсы']}")

Словари идеальны для хранения структурированных данных, где каждый элемент имеет уникальный идентификатор (ключ). Они широко применяются для работы с данными в формате JSON, конфигурациями и настройками.

Пример 5: Преобразование типов данных

Python
Скопировать код
# Преобразование строки в число
строка_число = "42"
число = int(строка_число) # 42 (целое число)
число_с_плавающей_точкой = float(строка_число) # 42.0

# Преобразование числа в строку
обратно_в_строку = str(число) # "42"

# Преобразование между типами коллекций
список_чисел = [1, 2, 3, 4, 5]
кортеж_чисел = tuple(список_чисел) # (1, 2, 3, 4, 5) – неизменяемый список
список_из_кортежа = list(кортеж_чисел) # [1, 2, 3, 4, 5]

# Создание множества (уникальные элементы)
числа_с_дубликатами = [1, 2, 2, 3, 4, 4, 5]
уникальные_числа = set(числа_с_дубликатами) # {1, 2, 3, 4, 5}

print(f"Преобразованное число: {число + 8}") # 50
print(f"Уникальные числа: {уникальные_числа}")

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

Python-алгоритмы с условиями и циклами для начинающих

Условные конструкции и циклы — это основа алгоритмического мышления в программировании. Python предлагает интуитивно понятный синтаксис для реализации различных логических ветвлений и повторений. Разберём 5 примеров python кодов для начинающих, которые демонстрируют эти ключевые концепции.

Пример 6: Условный оператор if-elif-else

Python
Скопировать код
# Запрос возраста пользователя
возраст = 17

# Проверка возрастной категории
if возраст < 18:
категория = "Несовершеннолетний"
доступ = "Ограниченный доступ"
elif 18 <= возраст < 65:
категория = "Взрослый"
доступ = "Полный доступ"
else:
категория = "Пенсионер"
доступ = "Специальный доступ"

print(f"Категория: {категория}")
print(f"Уровень доступа: {доступ}")

Обратите внимание на уникальную особенность Python: вы можете использовать составные условия, как 18 <= возраст < 65, что делает код более читаемым по сравнению с другими языками, где пришлось бы писать (возраст >= 18 && возраст < 65).

Пример 7: Цикл for для перебора элементов

Python
Скопировать код
# Список городов
города = ["Москва", "Санкт-Петербург", "Новосибирск", "Екатеринбург", "Казань"]

# Перебор элементов с использованием цикла for
print("Список крупных городов России:")
for город in города:
print(f"- {город}")

# Использование функции enumerate для получения индекса
print("\nГорода с рейтингом:")
for индекс, город in enumerate(города, 1): # 1 – начальное значение индекса
print(f"{индекс}. {город}")

# Использование range() для создания последовательности чисел
print("\nТаблица умножения на 5:")
for число in range(1, 11): # от 1 до 10 включительно
результат = число * 5
print(f"5 × {число} = {результат}")

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

Пример 8: Цикл while для повторения с условием

Python
Скопировать код
# Инициализация переменных
число = 1
сумма = 0

# Цикл выполняется, пока число меньше или равно 10
while число <= 10:
сумма += число # Добавляем текущее число к сумме
число += 1 # Увеличиваем число на 1

print(f"Сумма чисел от 1 до 10: {сумма}") # 55

# Пример с break для преждевременного выхода из цикла
попытки = 0
пин_код = "1234"
успех = False

while попытки < 3:
ввод = "1235" # В реальном коде здесь был бы input()
попытки += 1

if ввод == пин_код:
успех = True
print("Доступ разрешен!")
break # Выход из цикла
else:
print(f"Неверный PIN. Осталось попыток: {3 – попытки}")

if not успех:
print("Доступ заблокирован. Слишком много неудачных попыток.")

Цикл while полезен, когда количество итераций заранее неизвестно и зависит от некоторого условия. Ключевые слова break и continue (не показано в примере) позволяют управлять выполнением цикла. 🔁

Антон Сидоров, разработчик Python

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

Начал с простого скрипта с циклом for, который перебирал ссылки и извлекал информацию. Всё работало, но когда список товаров вырос до 5000 наименований, процесс занимал часы. Тогда я переписал код с использованием асинхронного подхода и многопоточности.

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

Пример 9: Вложенные циклы

Python
Скопировать код
# Генерация таблицы умножения с помощью вложенных циклов
print("Таблица умножения от 1 до 5:")

for i in range(1, 6):
строка = ""
for j in range(1, 6):
произведение = i * j
строка += f"{произведение:2d} " # :2d обеспечивает выравнивание
print(строка)

# Поиск всех пар чисел, дающих в сумме 10
пары = []
числа = [3, 7, 2, 8, 5, 1, 9, 4, 6]

for i in range(len(числа)):
for j in range(i + 1, len(числа)): # начинаем с i+1, чтобы не повторять пары
if числа[i] + числа[j] == 10:
пары.append((числа[i], числа[j]))

print(f"Пары чисел, дающие сумму 10: {пары}")

Вложенные циклы незаменимы при работе с многомерными структурами данных или когда требуется перебрать все возможные комбинации элементов. Однако важно помнить о производительности — сложность алгоритма с вложенными циклами обычно возрастает квадратично (O(n²)).

Пример 10: Понимание списков (List comprehensions)

Python
Скопировать код
# Традиционный способ создания списка квадратов
квадраты = []
for число in range(1, 11):
квадраты.append(число ** 2)
print(f"Квадраты чисел (традиционный способ): {квадраты}")

# Тот же результат с использованием понимания списков
квадраты_кратко = [число ** 2 for число in range(1, 11)]
print(f"Квадраты чисел (понимание списков): {квадраты_кратко}")

# Понимание списков с условием
четные_квадраты = [число ** 2 for число in range(1, 11) if число % 2 == 0]
print(f"Квадраты четных чисел: {четные_квадраты}")

# Создание словаря с помощью понимания словарей
словарь_квадратов = {число: число ** 2 for число in range(1, 6)}
print(f"Словарь квадратов: {словарь_квадратов}")

Понимание списков (list comprehensions) — это мощная и элегантная конструкция Python, которая позволяет создавать списки одной строкой кода. Она часто делает код более читаемым и компактным, заменяя традиционные циклы с накоплением результатов. 🧠

Создаём первые функции и классы в Python с нуля

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

Пример 11: Создание и использование функций

Python
Скопировать код
# Простая функция без параметров
def приветствие():
"""Выводит стандартное приветствие"""
print("Привет, мир!")

# Функция с параметрами
def персональное_приветствие(имя):
"""Выводит персонализированное приветствие"""
print(f"Привет, {имя}!")

# Функция с параметрами по умолчанию
def приветствие_с_временем(имя, время_суток="день"):
"""Выводит приветствие с учетом времени суток"""
print(f"Добрый {время_суток}, {имя}!")

# Функция, возвращающая значение
def сумма_чисел(a, b):
"""Возвращает сумму двух чисел"""
return a + b

# Вызов функций
приветствие()
персональное_приветствие("Анна")
приветствие_с_временем("Иван")
приветствие_с_временем("Мария", "вечер")

результат = сумма_чисел(5, 3)
print(f"Сумма чисел: {результат}")

Обратите внимание на строки документации (docstrings) в тройных кавычках — это хорошая практика для описания назначения функции. Параметры по умолчанию позволяют сделать функции более гибкими и удобными в использовании.

Тип функции Описание Когда использовать
Без параметров Простейшая функция, выполняющая фиксированное действие Для повторяющихся операций без вариаций
С параметрами Функция, принимающая входные данные для обработки Для операций, требующих настройки поведения
С параметрами по умолчанию Функция с необязательными параметрами Когда некоторые параметры имеют типичные значения
Возвращающая значение Функция, которая производит результат Когда результат операции нужно использовать дальше
Лямбда-функция Анонимная однострочная функция Для простых операций, особенно как аргумент других функций

Пример 12: Область видимости переменных

Python
Скопировать код
# Глобальная переменная
счетчик = 0

def увеличить_счетчик():
"""Увеличивает глобальный счетчик"""
global счетчик # Указываем, что используем глобальную переменную
счетчик += 1
print(f"Счетчик внутри функции: {счетчик}")

def локальный_счетчик():
"""Демонстрирует локальную переменную"""
счетчик = 10 # Это локальная переменная, не связанная с глобальной
счетчик += 1
print(f"Локальный счетчик: {счетчик}")

# Вызов функций
print(f"Глобальный счетчик до: {счетчик}")
увеличить_счетчик()
локальный_счетчик()
print(f"Глобальный счетчик после: {счетчик}")

Понимание области видимости (scope) переменных критически важно для избежания трудно отслеживаемых ошибок. По умолчанию переменные, объявленные внутри функции, имеют локальную область видимости и не влияют на одноименные переменные вне функции. Для изменения глобальных переменных необходимо использовать ключевое слово global. 🔍

Пример 13: Создание базового класса

Python
Скопировать код
# Определение класса Автомобиль
class Автомобиль:
"""Базовый класс для представления автомобиля"""

def __init__(self, марка, модель, год, пробег=0):
"""Инициализация атрибутов автомобиля"""
self.марка = марка
self.модель = модель
self.год = год
self.пробег = пробег
self.работает = False

def завести_двигатель(self):
"""Запуск двигателя"""
if not self.работает:
print(f"{self.марка} {self.модель} заведен!")
self.работает = True
else:
print(f"{self.марка} {self.модель} уже работает.")

def заглушить_двигатель(self):
"""Остановка двигателя"""
if self.работает:
print(f"{self.марка} {self.модель} заглушен.")
self.работает = False
else:
print(f"{self.марка} {self.модель} уже заглушен.")

def проехать(self, расстояние):
"""Поездка на определенное расстояние"""
if self.работает:
self.пробег += расстояние
print(f"{self.марка} {self.модель} проехал {расстояние} км. Общий пробег: {self.пробег} км.")
else:
print(f"Сначала заведите {self.марка} {self.модель}!")

def информация(self):
"""Вывод информации об автомобиле"""
состояние = "работает" if self.работает else "заглушен"
print(f"Автомобиль: {self.марка} {self.модель}, {self.год} года.")
print(f"Пробег: {self.пробег} км. Состояние: {состояние}")

# Создание экземпляра класса
моя_машина = Автомобиль("Toyota", "Corolla", 2020)
моя_машина.информация()
моя_машина.завести_двигатель()
моя_машина.проехать(150)
моя_машина.заглушить_двигатель()
моя_машина.информация()

Классы позволяют создавать собственные типы данных, объединяя связанные атрибуты и методы. Метод __init__ — это специальный метод, который вызывается при создании объекта класса (конструктор). Параметр self ссылается на экземпляр класса и обязателен для всех методов класса.

Пример 14: Наследование и полиморфизм

Python
Скопировать код
# Базовый класс Животное
class Животное:
"""Базовый класс для всех животных"""

def __init__(self, имя, возраст):
self.имя = имя
self.возраст = возраст

def голос(self):
"""Издать звук (будет переопределен в подклассах)"""
print("Какой-то звук животного")

def информация(self):
"""Вывод информации о животном"""
print(f"{self.__class__.__name__} по имени {self.имя}, возраст: {self.возраст} лет")

# Подкласс Собака
class Собака(Животное):
"""Класс для представления собаки"""

def __init__(self, имя, возраст, порода):
# Вызов конструктора родительского класса
super().__init__(имя, возраст)
self.порода = порода

def голос(self):
"""Переопределение метода для собаки"""
print(f"{self.имя} говорит: Гав-гав!")

def информация(self):
"""Расширение метода информации для собаки"""
super().информация()
print(f"Порода: {self.порода}")

# Подкласс Кошка
class Кошка(Животное):
"""Класс для представления кошки"""

def голос(self):
"""Переопределение метода для кошки"""
print(f"{self.имя} говорит: Мяу!")

# Создание экземпляров классов
животные = [
Собака("Барон", 3, "Лабрадор"),
Кошка("Мурка", 5),
Животное("Нечто", 1)
]

# Демонстрация полиморфизма – вызов одного метода для разных типов
for животное in животные:
животное.информация()
животное.голос()
print("---")

Наследование позволяет создавать новые классы на основе существующих, расширяя и модифицируя их поведение. Полиморфизм — это возможность использовать один и тот же интерфейс для объектов разных типов. В примере метод голос() вызывается для всех животных, но реализация различается для каждого подкласса. 🐕 🐈

Практические задачи с готовыми кодами на Python

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

Пример 15: Калькулятор с функциями

Python
Скопировать код
def сложение(a, b):
return a + b

def вычитание(a, b):
return a – b

def умножение(a, b):
return a * b

def деление(a, b):
if b == 0:
return "Ошибка: деление на ноль"
return a / b

def калькулятор():
print("Простой калькулятор")
print("Доступные операции: +, -, *, /")

# В реальном приложении используйте input()
первое_число = 10
второе_число = 5
операция = "+"

if операция == "+":
результат = сложение(первое_число, второе_число)
elif операция == "-":
результат = вычитание(первое_число, второе_число)
elif операция == "*":
результат = умножение(первое_число, второе_число)
elif операция == "/":
результат = деление(первое_число, второе_число)
else:
результат = "Неизвестная операция"

print(f"{первое_число} {операция} {второе_число} = {результат}")

# Запуск калькулятора
калькулятор()

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

Вот список практических задач, для которых можно использовать Python:

  • Обработка и анализ данных (статистические расчеты, визуализация)
  • Автоматизация рутинных задач (работа с файлами, отправка электронной почты)
  • Веб-скрапинг (извлечение данных с веб-страниц)
  • Создание графического интерфейса с помощью библиотеки Tkinter
  • Обработка изображений и компьютерное зрение
  • Разработка игр с Pygame
  • Создание веб-приложений с Django или Flask

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

Приведенные примеры кодов охватывают базовые концепции Python и демонстрируют его синтаксис и возможности. Для дальнейшего изучения рекомендуется работать над собственными проектами, изучать документацию библиотек и практиковаться в решении задач на таких платформах, как LeetCode, HackerRank или CodeWars.

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

Читайте также

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Что выводит программа 'Hello, World!'?
1 / 5

Загрузка...