Python Map | Обучение
240 subscribers
197 photos
4 videos
1 file
87 links
Образовательный канал для программистов на Python 🐍

Сотрудничество – @HackingIP
Download Telegram
Режимы файлов

#теория
Функция bool()

Функция bool() в Python возвращает логическое значение для объекта. Логический тип данных может хранить только 2 значения: True и False.

Вот случаи, в которых функция bool() возвращает False . За исключением этого, все остальные значения возвращают True.
● Если передано значение False
● Если ничего не передано
● Если передается пустая последовательность, такая как (), [], и т.д.
● Если ноль передается в любом числовом типе, таком как 0, 0.0 и т.д.
● Если передается пустой словарь, например {}
● Если объекты классов имеют метод __bool__() или __len__(), возвращающий 0 или False

#теория
👍2
Хэширование

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

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

Также важно учитывать, что могут возникать коллизии, когда у разных значений совпадают хэши. Например, хэши чисел -1 и -2 совпадают.

#теория
👍2
Оценка сложности алгоритма

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

Временная сложность алгоритма определяет сколько времени потребуется на выполнение алгоритма в зависимости от размера входных данных. Временная сложность обычно выражается в "O-нотации". Например, алгоритм с временной сложностью O(n) будет иметь линейную зависимость от размера входных данных n.

Пространственная сложность алгоритма определяет сколько памяти потребуется на выполнение алгоритма в зависимости от размера входных данных. Например, алгоритм с пространственной сложностью O(n) будет занимать память пропорционально размеру входных данных n.

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

#теория
🤓2👍1
Функция и метод

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

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

Метод – это функция, определенная внутри класса. Он используется для выполнения операций на объектах данного класса. Методы могут иметь доступ к данным объекта и модифицировать их.

Метод это функция класса


#теория | @PyMapChannel
😎1
Модули и пакеты

Модуль - это файл с расширением .py, который содержит код на Python. В модуле можно определять функции, классы, переменные и другие элементы программы. Для использования функций или классов из модуля в другом файле, можно импортировать модуль с помощью ключевого слова import.

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

#теория | @PyMapChannel
💯1
Иерархия исключений

#теория | @PyMapChannel
Замыкания

Замыкание – это функция, которая сохраняет доступ к переменным из внешней функции (нелокальной области видимости), даже после того как выполнение этой функции завершено.

Как правило, замыкания используются для создания декораторов (функций-оберток), которые могут изменять поведение других функций.

#теория | @PyMapChannel
PEP8

PEP 8 (Python Enhancement Proposal 8) – это стандарт стиля кодирования для языка Python.

Он определяет правила оформления кода, именования переменных, расстановки пробелов и другие соглашения, которые делают код более читаемым и понятным.

Соблюдение PEP 8 важно для единообразия кода в проекте, удобства совместной работы и последующей поддержки программы.


#теория | @PyMapChannel
👍7
Кортеж (tuple)

Кортеж – это неизменяемая упорядоченная коллекция элементов. Он создается с использованием круглых скобок и может содержать любые типы данных. Кортеж похож на список, но он является неизменяемым типом (после создания кортежа хранимые в нем значения нельзя удалять или изменить).

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

#типы_данных | @PyMapChannel
👍1
Утиная типизация

Утиная типизация – это концепция, характерная для языков программирования с динамической типизацией, позволяющая использовать объекты независимо от их типа, базируясь на их свойствах и методах.

Основная идея: при работе с объектом его тип не проверяется, вместо этого проверяются свойства и методы этого объекта.


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

#теория | @PyMapChannel
👍31
Итератор

Итератор – это объект, который способен возвращать элементы по одному за раз.

Для этого объект должен реализовать метод __next__(), который возвращает следующий элемент. Когда элементы закончились, он должен вызывать исключение StopIteration. Также этот объект имеет состояние и запоминает, где он находится во время итерации.


В частности генератор является подтипом итератора (но не наоборот).

#теория | @PyMapChannel
Пакетный менеджер pip

PIP – это стандартный пакетный менеджер для установки и управления библиотеками и пакетами Python. Он позволяет легко устанавливать, обновлять, удалять и управлять зависимостями Python-проектов.

Вот некоторые основные команды pip:

Установка пакета:
pip install package_name

Обновление пакета до последней версии:
pip install --upgrade package_name

Удаление пакета:
pip uninstall package_name

Просмотр установленных пакетов:
pip list

Установка нужной версии пакета:
pip install package_name==version

PIP также поддерживает различные другие опции и флаги для управления пакетами и их зависимостями.

#теория | @PyMapChannel
👍3
Итерируемый объект

Итерируемый объект – это любой объект, реализующий метод iter() или getitem().

Цель итерируемого объекта – создать итератор. Для этого есть функция iter().


Ниже перечислены некоторые из наиболее распространенных итерируемых объектов:
кортежи;
● списки;
● строки;
множества;
словари;
файлы;
генераторы;

#теория | @PyMapChannel
👍2