Skip to content

Instantly share code, notes, and snippets.

@R-udren
Last active July 30, 2024 16:00
Show Gist options
  • Save R-udren/f1b6ef1d1aa914e410392d6992942367 to your computer and use it in GitHub Desktop.
Save R-udren/f1b6ef1d1aa914e410392d6992942367 to your computer and use it in GitHub Desktop.
Шпаргалка Python by rovert

Шпаргалка по питону от rovert

Объяснения концепций:

  1. Типы данных:

    Название Английский Пример Объяснение Функция в коде
    Целые числа Integers age = 25 Целые числа представляются без десятичной точки. Они могут быть положительными или отрицательными. int()
    Числа с плавающей точкой Floating-point numbers pi = 3.14159 Числа с плавающей точкой представляют дробные значения. Они записываются с десятичной точкой. float()
    Строки Strings name = "Alice" Строки представляют текстовые данные. Они заключаются в одинарные или двойные кавычки. str()
    Списки Lists fruits = ["apple", "banana", "cherry"] Списки - упорядоченные коллекции элементов. Каждый элемент имеет свой индекс, начиная с 0. list()
    Кортежи Tuples point = (3, 7) Кортежи - упорядоченные и неизменяемые коллекции элементов. Они похожи на списки, но не могут быть изменены после создания. tuple()
    Словари Dictionaries person = {"name": "John", "age": 30} Словари хранят пары "ключ-значение". Ключи уникальны, их можно использовать для доступа к значениям. dict()
    Булевы значения Booleans is_active = True Булевы значения представляют истинность или ложность. Используются для логических операций и контроля выполнения кода. bool()
    Множества Sets colors = {"red", "green", "blue"} Множества содержат уникальные элементы и используются для операций над множествами, такими как объединение, пересечение и разность. set()
    Неизменяемые множества Frozensets immutable_colors = frozenset(["red", "green", "blue"]) Frozensets - это неизменяемые множества, которые можно использовать в качестве ключей в словарях. frozenset()
    Диапазоны Ranges numbers = range(1, 6) Диапазоны представляют последовательности чисел. Они используются для итерации через цикл for и не хранят все значения в памяти. range()
    Байтовые строки Bytes data = b"hello" Байтовые строки содержат байты (целые числа от 0 до 255) и используются для работы с бинарными данными. bytes()
    Массивы байтов Bytearrays byte_data = bytearray(b"hello") Массивы байтов аналогичны байтовым строкам, но являются изменяемыми. Они широко используются для работы с бинарными данными. bytearray()
    Комплексные числа Complex numbers c = 3 + 2j Комплексные числа имеют вещественную и мнимую части. Они используются в математических вычислениях, например, в алгоритмах сигнальной обработки. complex()
    Значение отсутствия None result = None Тип данных None представляет отсутствие значения. Он используется для обозначения, что переменная не содержит данных или ее значение не определено. None
  2. Пример объяснения для условных операторов:

    Условные операторы позволяют программе принимать решения в зависимости от условий. Примеры:

    • if - проверка условия:
    if age >= 18:
        print("Вы совершеннолетний")
    • elif - альтернативное условие:
    if score >= 90:
        print("Отлично!")
    elif score >= 70:
        print("Хорошо")
    • else - альтернативное действие:
    if is_raining:
        print("Возьмите зонтик")
    else:
        print("Погода хорошая")
  3. Пример объяснения для циклов:

    Циклы позволяют выполнять блок кода многократно. Примеры:

    • Цикл for для итерации:
    for fruit in fruits:
        print(fruit)
    for i in range(1, 11):  # Выведит числа от 1 до 10.
        print(i)
    • Цикл while для выполнения действий, пока условие истинно:
    count = 0
    while count < 5:
        print("Hello")
        count += 1
  4. Пример объяснения для списков:

    Списки представляют собой коллекции элементов. Примеры:

    fruits = ['яблоко', 'банан', 'апельсин']
    print(fruits[1])  # Выведет 'банан'
    fruits.append('груша')  # Добавит 'грушу' в конец списка
  5. Пример объяснения для функций:

    Функции структурируют код и могут принимать аргументы. Примеры:

    def greet(name):
        return f"Привет, {name}!"
    
    message = greet("Алиса")
    print(message)  # Выведет "Привет, Алиса!"
  6. Пример объяснения для методов:

    Методы - это функции, связанные с объектами. Примеры:

    text = "Hello, World!"
    uppercase_text = text.upper()  # Метод upper() для строки
    numbers = [3, 1, 4, 1, 5]
    numbers.append(9)  # Метод append() для списка
  7. Пример объяснения для Escape-последовательностей:

    Escape-последовательности используются для вставки специальных символов в строки. Примеры:

    print("Привет,\nМир!")  # Перевод строки
    print("Табуляция:\tТекст")  # Символ табуляции
    • \n: Перевод строки (новая строка).
    • \t: Символ табуляции.
    • \\: Обратная косая черта.
    • \': Одинарная кавычка.
    • \": Двойная кавычка.
    • \r: Возврат каретки (в Windows).
    • \b: Забой (удаление символа).
    • \f: Подача страницы.
  8. Пример объяснения для модулей:

    Модули - это файлы с функциями и переменными. Примеры:

    import math
    print(math.sqrt(16))  # Функция sqrt() из модуля math
  9. Пример объяснения для исключений:

    Исключения обрабатывают ошибки. Примеры:

    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("Деление на ноль!")
  10. Пример объяснения для списковых выражений:

    Списковые выражения создают списки из других списков. Примеры:

    squares = [x**2 for x in range(1, 6)]  # Список квадратов чисел
  11. Пример объяснения для файлов:

    Работа с файлами включает чтение и запись данных. Примеры:

    with open("file.txt", "r") as file:
        content = file.read()  # Чтение данных из файла
    
    with open("output.txt", "w") as file:
        file.write("Hello, World!")  # Запись данных в файл
  12. Пример объяснения для форматирования строк:

    Форматирование строк позволяет вставлять переменные и значения в текстовые строки. В Python существует несколько способов форматирования строк.

    Старый способ с оператором %:

    Старый способ использует оператор % для вставки значений в строку. Переменные вставляются в строку с помощью %, их порядок указывается после строки.

    name = "Алиса"
    age = 25
    message = "Привет, меня зовут %s и мне %d лет." % (name, age)

    Метод str.format():

    Метод format() применяется к строке и использует фигурные скобки {} для указания мест, куда нужно вставить значения.

    name = "Алиса"
    age = 25
    message = "Привет, меня зовут {} и мне {} лет.".format(name, age)

    f-строки (f-strings):

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

    name = "Алиса"
    age = 25
    message = f"Привет, меня зовут {name} и мне {age} лет."

    Этот способ часто считается более читаемым и удобным.

    Выравнивание и заполнение:

    Форматирование также позволяет настраивать выравнивание и заполнение строк. Для этого используются дополнительные параметры в фигурных скобках.

    name = "Алиса"
    age = 25
    message = f"Привет, меня зовут {name:<10} и мне {age:03} лет."

    В этом примере, {name:<10} означает, что переменная name будет выровнена по левому краю и заполнена пробелами до ширины в 10 символов, а {age:03} означает, что переменная age будет выровнена по правому краю и заполнена нулями до ширины в 3 символа.

  13. Типы строк:

    1. Обычные строки (str): Это стандартные строки, которые мы используем. Пример: "Привет, Мир!"

    2. Сырые строки (raw string): Сырые строки обозначаются префиксом r перед строкой. В сырых строках Escape-последовательности игнорируются и интерпретируются как обычные символы.

      path = r"C:\Users\Username\Documents"
    3. Байтовые строки (bytes): Байтовые строки обозначаются префиксом b перед строкой. Они представляют последовательность байтов вместо символов и могут использоваться, например, при работе с файлами.

      data = b"Hello, World!"
    4. Форматированные строки (f-strings): Форматированные строки позволяют встраивать выражения и переменные непосредственно в строку с помощью префикса f.

      name = "Алиса"
      age = 25
      message = f"Привет, меня зовут {name} и мне {age} лет."
  14. Спецификации форматирования для строк:

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

    Давайте разберем основные компоненты спецификации:

    • format_spec: [[fill]align][sign][#][0][width][grouping_option][.precision][type]

    • fill: Заполняющий символ для выравнивания. Может быть любым символом.

    • align: Способ выравнивания внутри поля. Опции:

      • <: Выравнивание по левому краю.
      • >: Выравнивание по правому краю (по умолчанию).
      • ^: Выравнивание по центру.
    • sign: Опции отображения знака числа:

      • +: Всегда показывать знак (даже для положительных чисел).
      • -: Показывать знак только для отрицательных чисел (по умолчанию).
      • ' ': Для положительных чисел показывать пробел вместо знака.
    • width: Ширина поля, в котором будет отображено значение.

    • grouping_option: Опция разделения групп разрядов. Может быть:

      • "_": Разделение групп разрядов подчеркиванием (например, 1_000_000).
      • ",": Разделение групп разрядов запятой (например, 1,000,000).
    • precision: Количество знаков после запятой (для чисел с плавающей запятой).

    • type: Тип форматирования значения. Например:

      • "d": Десятичное целое число.
      • "f": Число с фиксированной точкой (для чисел с плавающей запятой).
      • "s": Преобразование в строку.
      • "x": Шестнадцатеричное представление числа (строчные буквы).
      • "X": Шестнадцатеричное представление числа (заглавные буквы).

    Пример использования спецификации форматирования в методе f-строках:

    name = "Максим"
    age = 17
    message = f"Привет, меня зовут {name:^10} и мне {age:02d} лет."

    Вывод:

    Привет, меня зовут   Максим   и мне 17 лет.
    

    В данном примере:

    • :^10 означает выравнивание по центру в поле шириной 10 символов.
    • :02d означает целое число, отображаемое с ведущими нулями, чтобы всегда занимать две позиции.

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

    • fill: Заполняющий символ для выравнивания.

      name = "Alice"
      message = "Name: {:*>10}".format(name)
      print(message)  # Выведет "Name: *****Alice"
    • align: Способ выравнивания внутри поля.

      value = 42
      message = "Value: {:<10}".format(value)
      print(message)  # Выведет "Value: 42        "
    • sign: Опции отображения знака числа.

      num = -15
      message = "Number: {:+}".format(num)
      print(message)  # Выведет "Number: -15"
    • width: Ширина поля, в котором будет отображено значение.

      text = "Hello"
      message = "Text: {:20}".format(text)
      print(message)  # Выведет "Text: Hello               "
    • grouping_option: Опция разделения групп разрядов.

      amount = 1000000
      message = "Amount: {:,}".format(amount)
      print(message)  # Выведет "Amount: 1,000,000"
    • precision: Количество знаков после запятой.

      value = 3.141592653589793
      message = "Value: {:.2f}".format(value)
      print(message)  # Выведет "Value: 3.14"
    • type: Тип форматирования значения.

      num = 42
      message = "Number: {:x}".format(num)
      print(message)  # Выведет "Number: 2a"

Полезные таблицы

  1. Таблица математических операций:

    Оператор Описание Пример Результат
    + Сложение 3 + 5 8
    - Вычитание 10 - 4 6
    * Умножение 2 * 6 12
    / Деление 15 / 3 5.0
    % Остаток от деления 10 % 3 1
    ** Возведение в степень 2 ** 3 8
    // Целочисленное деление 17 // 5 3
  2. Таблица типов данных:

    Название Английский Пример Объяснение Функция в коде
    Целые числа Integers age = 25 Целые числа представляются без десятичной точки. Они могут быть положительными или отрицательными. int()
    Числа с плавающей точкой Floating-point numbers pi = 3.14159 Числа с плавающей точкой представляют дробные значения. Они записываются с десятичной точкой. float()
    Строки Strings name = "Alice" Строки представляют текстовые данные. Они заключаются в одинарные или двойные кавычки. str()
    Списки Lists fruits = ["apple", "banana", "cherry"] Списки - упорядоченные коллекции элементов. Каждый элемент имеет свой индекс, начиная с 0. list()
    Кортежи Tuples point = (3, 7) Кортежи - упорядоченные и неизменяемые коллекции элементов. Они похожи на списки, но не могут быть изменены после создания. tuple()
    Словари Dictionaries person = {"name": "John", "age": 30} Словари хранят пары "ключ-значение". Ключи уникальны, их можно использовать для доступа к значениям. dict()
    Булевы значения Booleans is_active = True Булевы значения представляют истинность или ложность. Используются для логических операций и контроля выполнения кода. bool()
    Множества Sets colors = {"red", "green", "blue"} Множества содержат уникальные элементы и используются для операций над множествами, такими как объединение, пересечение и разность. set()
    Неизменяемые множества Frozensets immutable_colors = frozenset(["red", "green", "blue"]) Frozensets - это неизменяемые множества, которые можно использовать в качестве ключей в словарях. frozenset()
    Диапазоны Ranges numbers = range(1, 6) Диапазоны представляют последовательности чисел. Они используются для итерации через цикл for и не хранят все значения в памяти. range()
    Байтовые строки Bytes data = b"hello" Байтовые строки содержат байты (целые числа от 0 до 255) и используются для работы с бинарными данными. bytes()
    Массивы байтов Bytearrays byte_data = bytearray(b"hello") Массивы байтов аналогичны байтовым строкам, но являются изменяемыми. Они широко используются для работы с бинарными данными. bytearray()
    Комплексные числа Complex numbers c = 3 + 2j Комплексные числа имеют вещественную и мнимую части. Они используются в математических вычислениях, например, в алгоритмах сигнальной обработки. complex()
    Значение отсутствия None result = None Тип данных None представляет отсутствие значения. Он используется для обозначения, что переменная не содержит данных или ее значение не определено. None
  3. Таблица операторов сравнения:

    Оператор Описание Пример
    == Равно a == b
    != Не равно a != b
    < Меньше a < b
    > Больше a > b
    <= Меньше либо равно a <= b
    >= Больше либо равно a >= b
  4. Таблица логических операторов:

    Оператор Описание Пример
    and Логическое И a and b
    or Логическое ИЛИ a or b
    not Логическое НЕ not a
  5. Таблица условных операторов:

    Оператор Описание Пример
    if Если условие истинно if x > 0:
    elif Иначе, если предыдущее не верно elif x < 0:
    else Иначе else:
  6. Таблица циклов:

    Оператор Описание Пример
    for Цикл для итерации for i in range(5):
    while Цикл, выполняется пока условие истинно while x > 0:
  7. Таблица функций:

    Функция Описание Пример использования
    print() Выводит данные на экран print("Hello, World!")
    input() Считывает данные с клавиатуры name = input("Введите имя: ")
    len() Возвращает длину строки или списка length = len("Python")
    range() Генерирует последовательность чисел numbers = range(1, 6)
  8. Методы строк:

    Метод Описание Пример
    str.upper() Преобразует строку в верхний регистр "hello".upper()
    str.lower() Преобразует строку в нижний регистр "HeLLo".lower()
    str.capitalize() Преобразует первый символ в верхний регистр "hello world".capitalize()
    str.replace() Заменяет подстроку на другую "Hello, John".replace("John", "Alice")
    str.split() Разделяет строку на список подстрок "apple,banana,cherry".split(",")
    str.strip() Удаляет пробельные символы с начала и конца " hello ".strip()
    str.startswith() Проверяет, начинается ли строка с подстроки "Hello, World".startswith("Hello")
    str.endswith() Проверяет, заканчивается ли строка подстрокой "Hello, World".endswith("World")
  9. Методы списков:

    Метод Описание Пример
    list.append() Добавляет элемент в конец списка my_list.append(42)
    list.extend() Добавляет элементы другого списка my_list.extend([1, 2, 3])
    list.insert() Вставляет элемент по индексу my_list.insert(1, "apple")
    list.remove() Удаляет первое вхождение элемента из списка my_list.remove("apple")
    list.pop() Удаляет и возвращает элемент по индексу removed_item = my_list.pop(1)
    list.index() Возвращает индекс первого вхождения элемента index = my_list.index("banana")
    list.count() Считает количество вхождений элемента count = my_list.count("apple")
    list.sort() Сортирует список в порядке возрастания my_list.sort()
    list.reverse() Разворачивает список наоборот my_list.reverse()
  10. Методы чисел:

    Метод Описание Пример
    abs() Возвращает абсолютное значение числа absolute = abs(-10)
    round() Округляет число rounded = round(3.14159, 2)
    int() Преобразует число с плавающей точкой в целое integer = int(3.14)
    float() Преобразует целое число в число с плавающей точкой floating = float(42)
    min() Возвращает минимальное значение из аргументов minimum = min(5, 7, 2)
    max() Возвращает максимальное значение из аргументов maximum = max(5, 7, 2)
    sum() Считает сумму элементов в итерабельной последовательности total = sum([1, 2, 3])
  11. Таблица работы с типами данных:

    Функция Описание Пример использования
    type() Возвращает тип данных data_type = type(42)
    int() Преобразует значение в целое число num = int("42")
    float() Преобразует значение в число с плавающей точкой pi = float("3.14159")
    str() Преобразует значение в строку text = str(42)
    list() Преобразует последовательность в список items = list(range(1, 6))

Подготовленные задания

1. Калькулятор площади прямоугольника

Название файла: rectangle_area_calculator.py

Описание: Напишите программу, которая запрашивает у пользователя длину и ширину прямоугольника, а затем вычисляет и выводит его площадь.

Пример выполнения:

Введите длину прямоугольника: 5
Введите ширину прямоугольника: 3
Площадь прямоугольника: 15

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием функции input().
  2. Преобразование строк в числа с помощью int() или float().
  3. Вычисление площади прямоугольника по формуле.
  4. Вывод данных на экран с использованием функции print().

2. Калькулятор скидки

Название файла: discount_calculator.py

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

Пример выполнения:

Введите сумму покупки: 1000
Введите процент скидки: 10
Итоговая сумма с учетом скидки: 900 рублей

Необходимые знания:

  1. Ввод данных с помощью функции input().
  2. Преобразование строк в числа с помощью int() или float().
  3. Вычисления на Python (в данном случае, вычисление итоговой суммы после скидки).
  4. Округление чисел, если потребуется, с помощью round().

3. Переводчик чисел в текст

Название файла: number_to_word_translator.py

Описание: Напишите программу, которая принимает на ввод целое число в диапазоне от 1 до 5, и выводит соответствующее ему слово на английском языке.

Пример выполнения:

Введите число от 1 до 5: 3
Соответствующее слово: Three

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input().
  2. Преобразование строк в числа.
  3. Условные операторы (if, elif, else) для выбора соответствующего слова в зависимости от числа.

4. Поиск максимального числа

Название файла: max_number_finder.py

Описание: Напишите программу, которая запрашивает у пользователя три числа и выводит на экран максимальное из них.

Пример выполнения:

Введите первое число: 15
Введите второе число: 27
Введите третье число: 9
Максимальное число: 27

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input().
  2. Преобразование строк в числа.
  3. Сравнение чисел с использованием условных операторов if.

5. Использование цикла

Название файла: sum_of_numbers.py

Описание: Напишите программу, которая запрашивает у пользователя положительное целое число n, а затем вычисляет сумму всех чисел от 1 до n.

Пример выполнения:

Введите число: 5
Сумма чисел от 1 до 5: 15

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input() и преобразование строки в число.
  2. Использование цикла for или while для выполнения действий несколько раз.
  3. Вычисления суммы с использованием цикла.

6. Перевернутая строка

Название файла: reverse_string.py

Описание: Напишите программу, которая запрашивает у пользователя строку и выводит обратный ей текст.

Пример выполнения:

Введите строку: Hello, World!
Обратный текст: !dlroW ,olleH

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input().
  2. Обход строки посимвольно с использованием цикла.
  3. Сохранение символов в обратном порядке.

7. Задача на использование списков

Название файла: find_max_min.py

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

Пример выполнения:

Введите числа: 5 12 -3 8 0
Максимальное число: 12
Минимальное число: -3

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input().
  2. Разделение введенной строки на список с помощью split().
  3. Преобразование строк в числа с использованием цикла.
  4. Использование списка для хранения чисел.
  5. Поиск максимального и минимального числа в списке с использованием встроенных функций.

8. Определение четности числа

Название файла: even_odd_checker.py

Описание: Напишите программу, которая запрашивает у пользователя целое число и сообщает,

является ли оно четным или нечетным.

Пример выполнения:

Введите целое число: 7
Число 7 является нечетным.

Необходимые знания:

  1. Ввод данных с клавиатуры с использованием input() и преобразование строки в число.
  2. Операторы сравнения (==, <, >, <=, >=, !=) для проверки условий.
  3. Условный оператор if для выполнения разных действий в зависимости от условия.
  4. Операторы else и elif для задания альтернативных путей выполнения программы.
  5. Математические операторы в Python.

Roadmap

Подробная дорожная карта для изучения основ Python

Уровень 1: Основы языка

  • Установить Python.
  • Запустить интерпретатор Python и создать первую программу.
  • Изучить переменные и типы данных (целые числа, числа с плавающей точкой, строки).
  • Освоить математические операторы и логические операторы.
  • Изучить условные операторы (if, elif, else) и циклы (for, while).

Уровень 2: Структуры данных и функции

  • Понять списки и кортежи и их основные операции.
  • Работать с методами строк.
  • Освоить словари и множества.
  • Создать свои собственные функции с параметрами и возвращаемыми значениями.

Уровень 3: Продвинутые темы и модули

  • Обрабатывать ошибки и исключения с помощью try и except.
  • Изучить импорт модулей и использование библиотек.
  • Работать с файлами (чтение и запись).
  • Понять основы объектно-ориентированного программирования (классы, объекты, методы, атрибуты).
  • Изучить регулярные выражения.

Уровень 4: Проекты и практика

  • Реализовать небольшие проекты и решать задачи.
  • Изучить официальную документацию Python.
  • Присоединиться к сообществу Python.
  • Изучить дополнительные библиотеки и фреймворки.
  • Оптимизировать код и использовать профилирование.
  • Изучить методы тестирования и деплоймента.
  • Начать работу над интересными проектами, соответствующими вашим интересам.

PEP 8

Импорты

  1. Группировка импортов:

    • Импорты следует группировать в следующем порядке:
      1. Стандартные библиотеки.
      2. Связанные сторонние библиотеки.
      3. Локальные (ваш собственный) модули.

    Пример:

    # Правильно
    import os
    import sys
    
    from urllib import request
    # Плохо
    from urllib import request
    import sys, os
  2. Избегайте использования import *:

    • Это делает ваш код менее читаемым и может вызывать конфликты имен.

    Пример:

    # Правильно
    from math import sqrt
    # Плохо
    from math import *
  3. Избегайте относительных импортов:

    • Используйте абсолютные пути для импортов модулей в вашем проекте.

    Пример:

    # Правильно
    from myproject.mymodule import function
    # Плохо
    from ..mymodule import function
  4. Избегайте неявных зависимостей:

    • Явно указывайте, какие части библиотек вы используете, чтобы избежать неожиданных конфликтов имен.

    Пример:

    # Правильно
    import pandas as pd
    # Плохо
    from pandas import *
  5. Операторы импорта на отдельных строках:

    • Каждый оператор импорта должен быть на отдельной строке.

    Пример:

    # Правильно
    import os
    import sys
    # Плохо
    import os, sys
@R-udren
Copy link
Author

R-udren commented Aug 18, 2023

изображение_2023-08-18_200856010

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment