В Python объявление переменной осуществляется простым присвоением значения имени переменной с помощью оператора =. Тип данных указывать не требуется
Синтаксис:имя_переменной = значение
Примеры:
# Целое число
age = 25
# Строка
name = "Анна"
# Вещественное число
height = 1.68
# Логическое значение
is_student = True
Правила именования переменных:
1. Имя должно начинаться с буквы или символа подчёркивания (_).
2. Могут содержать буквы, цифры и символы подчёркивания.
3. Чувствительны к регистру (age и Age — разные переменные).
4. Не использовать зарезервированные слова Python (например, for, if, class).
Советы:
- Использовать понятные и описательные имена переменных.
- Следовать стилю snake_case для именования (например, user_age).
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Строка (str) — это основной тип данных для работы с текстовой информацией в Python. Строки можно создавать с помощью одинарных ' ', двойных " " или тройных кавычек ''' '''/""" """.
Примеры использования:
# Создание строк
text = "Привет, мир!"
multiline = """Это
многострочная
строка."""
# Операции со строками
print(text.upper()) # ПРИВЕТ, МИР!
print(len(text)) # 11
# Форматирование строк
name = "Иван"
greeting = f"Привет, {name}!"
print(greeting) # Привет, Иван!
Полезные методы:
- str.lower() / str.upper() – преобразование регистра
- str.split() – разделение строки по разделителю
- str.replace() – замена подстроки
- str.strip() – удаление пробелов по краям
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
None — это специальный тип данных в Python, обозначающий отсутствие значения или пустоту. Он часто используется как значение по умолчанию или как индикатор отсутствия данных.
Примеры использования:
# Присваивание None переменной
result = None
# Функция без явного return возвращает None
def greet(name):
print(f"Привет, {name}!")
output = greet("Анна")
print(output) # Выведет: None
# Использование None как значения по умолчанию
def add(a, b=None):
if b is None:
b = 0
return a + b
print(add(5)) # Выведет: 5
print(add(5, 3)) # Выведет: 8
Использование is или is not для проверки переменной на None:
if result is None:
print("Результат отсутствует")
Применение:
- Значения по умолчанию в функциях
- Инициализация переменных, которые позже получат значения
- Возврат из функций, когда нет значения для возвращения
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Функции позволяют организовать код в повторно используемые блоки, улучшая его читаемость и структуру. В Python функции определяются с помощью ключ
ево
го слова def.Синтаксис:
def название_функции(параметры):
"""
Описание функции (опционально)
"""
# Тело функции
return значение # опционально
Пример использования:
def greeting(name):
return f"Привет, {name}!"
# Вызов функции
message = greeting("Анна")
print(message) # Выведет: Привет, Анна!
Преимущества функций:
- Повторное использование кода
- Улучшение читаемости
- Упрощение отладки
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Модуль в Python — это файл с расширением .py, который содержит набор функций, классов и переменных, объединённых для решения определённых задач. Модули помогают структурировать код, делая его более организованным и переиспользуемым.
Преимущества использования модулей:
1. Повторное использование кода: Один модуль можно использовать в разных проектах.
2. Упрощение разработки: Разделение программы на отдельные части облегчает её понимание и поддержку.
3. Организация пространства имён: Избегание конфликтов имён благодаря изолированным пространствам.
Как использовать модуль:
Чтобы подключить модуль, нужно использовать ключевое слово import. Например:
import math
print(math.sqrt(16)) # Выведет: 4.0
Можно импортировать конкретные функции:
from math import sqrt
print(sqrt(25)) # Выведет: 5.0
Или дать модулю псевдоним для удобства:
import math as m
print(m.pi) # Выведет: 3.141592653589793
Создание собственного модуля:
# my_module.py
def greet(name):
return f"Привет, {name}!"
Импорт и использование его в другом файле:
import my_module
print(my_module.greet("Александр")) # Выведет: Привет, Александр!
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
Зачем нужны исключения?
В процессе выполнения программы могут возникать ошибки. Например, деление на ноль, попытка открытия несуществующего файла или некорректный ввод данных. Чтобы программа не завершалась при возникновении таких ошибок, используется механизм обработки исключений.
Синтаксис try-except
Вот базовый пример того, как выглядят блоки try-except в Python:
try:
# код, который может вызвать исключение
x = 10 / 0
except ZeroDivisionError:
# код, который выполняется в случае исключения
print("Ошибка: Деление на ноль!")
Как это работает:
1. try: В этом блоке размещается код, который потенциально может вызвать ошибку.
2. except: В этом блоке обр
абатывается конк
ретное исключение. В данном примере мы ловим ошибку деления на ноль ZeroDivisionError.3. Если в блоке try возникает ошибка, выполнение программы переходит в блок except.
Обработка нескольких исключений
Можно обрабатывать несколько типов исключений, используя несколько блоков except:
try:
number = int(input("Введите число: "))
result = 10 / number
except ValueError:
print("Ошибка: необходимо ввести число!")
except ZeroDivisionError:
print("Ошибка: деление на ноль невозможно!")
Блоки finally и else
- finally: Код в блоке finally выполнится в любом случае, независимо от того, произошло исключение или нет.
try:
f = open("file.txt", "r")
finally:
f.close()
- else: Блок else выполняется, если в блоке try не возникло исключений.
try:
result = 10 / 5
except ZeroDivisionError:
print("Ошибка: Деление на ноль!")
else:
print(f"Результат: {result}")
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3👀1
Декораторы — инструмент в Python, позволяющий изменять поведение функций или методов без изменения их исходного кода. Представьте их как "оболочку", которая добавляет дополнительный функционал функции.
Как это работает?
Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию с расширенным поведением.
Простой пример:
def my_decorator(func):
def wrapper():
print("Что-то происходит до вызова функции.")
func()
print("Что-то происходит после вызова функции.")
return wrapper
@my_decorator
def greet():
print("Привет, мир!")
greet()
Вывод:
Что-то происходит до вызова функции.
Привет, мир!
Что-то происходит после вызова функции.
Плюсы использования декораторов:
- Повторное использование кода: Добавляйте одинаковый функционал к нескольким функциям.
- Читаемость: Ясно видно, что функция обёрнута дополнительным поведением.
- Разделение логики: Отделяете основной функционал от вспомогательных задач (логирование, проверка прав доступа и т.д.).
Когда использовать декораторы?
- Логирование вызовов функций.
- Проверка прав доступа.
- Кеширование результатов.
- Измерение времени выполнения функций.
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Итераторы — это объекты, которые позволяют перебрать элементы коллекции (список, кортеж, словарь и т.д.) по одному за раз. Они реализуют два основных метода:
- __iter__(): Возвращает сам себя итератор.
- __next__(): Возвращает следующий элемент последовательности. Если элементов больше нет, вызывает ошибку StopIteration.
Как работают итераторы?
Каждый раз, когда вы используете цикл for, Python создает итератор из коллекции и использует его для доступа к элементам по одному.
Пример создания собственного итератора:
class MyIterator:
def __init__(self, limit):
self.limit = limit
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
self.current += 1
return self.current
else:
raise StopIteration
Использование
for number in MyIterator(5):
print(number)
Вывод:
1 2 3 4 5
Преимущества использования итераторов:
Память: Позволяют работать с большими данными, не загружая всю коллекцию в память сразу.
Гибкость: Легко создавать собственные последовательности и контролировать процесс перебора.
Читаемость: Упрощают код циклов и делают его более понятным.
Встроенные итераторы и полезные функции:
- iter(): Преобразует коллекцию в итератор.
- next(): Получает следующий элемент из итератора.
- Генераторы: Упрощенная форма итераторов с использованием yield.
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Что такое async и await?
- async: Ключевое слово для определения асинхронной функции.
- await: Используется внутри асинхронной функции для ожидания завершения корутины.
Когда использовать?
- При работе с I/O операциями: сетевые запросы, чтение/запись файлов, базы данных.
- Когда нужно обрабатывать множество задач одновременно без блокировки основного потока.
Пример:
import asyncio
async def fetch_data():
print("Начало загрузки данных...")
await asyncio.sleep(2) # Симуляция I/O операции
print("Данные загружены!")
return {"data": 123}
async def main():
result = await fetch_data()
print(result)
# Запуск
asyncio.run(main())
Преимущества:
Производительность: Улучшают время отклика приложений.
Эффективность: Лучшая работа с ресурсами при множественных I/O задачах.
Читаемость: Код остаётся понятным и структурированным.
Ставь 👍, если было полезно
Еще больше материалов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1