Python Learning
33.4K subscribers
1.95K photos
8 videos
7 files
954 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
PySpark

PySpark — это Python API для Apache Spark. Он позволяет выполнять обработку больших данных в реальном времени в распределенной среде с помощью Python. Он также предоставляет оболочку PySpark для интерактивного анализа данных.

PySpark сочетает в себе удобство использования и простоту Python с мощностью Apache Spark, что позволяет обрабатывать и анализировать данные любого размера для всех, кто знаком с Python. PySpark поддерживает все функции Spark, такие как Spark SQL, DataFrames, Structured Streaming, Machine Learning (MLlib) и Spark Core.

Код с картинки создаст контекст Spark, прочитает набор данных из файла CSV с именем "data.csv" и выведет его в консоль.

#для_продвинутых
👍9🏆2
Атрибут context

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

В коде на картинке функция g вызывает исключение ValueError. Функция f перехватывает это исключение и вызывает собственное исключение Exception.

#для_начинающих
👍15
#Вопросы_с_собеседования
В чем разница между модулем, пакетом и библиотекой?


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

Пакет – это набор модулей, которые сгруппированы вместе внутри папки для обеспечения согласованной функциональности. Пакеты могут быть импортированы точно так же, как модули. Обычно в них есть init.pyfile, который указывает интерпретатору Python обрабатывать их.

Библиотека – это набор пакетов.
👍37❤‍🔥1😁1
Модуль doctest

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

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

Чтобы использовать doctest, необходимо импортировать его в свой код:

import doctest


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

Чтобы запустить тесты doctest, вы можете использовать функцию doctest.testmod(). Если тесты пройдут успешно, ничего не будет напечатано. Если тесты потерпят неудачу, будет напечатано сообщение об ошибке, указывающее на причину неудачи.

#для_продвинутых
👍19
CatBoost

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

Чтобы установить CatBoost в Python, выполните следующие действия:

pip install catboost


Затем импортируйте библиотеку:

import catboost


#для_продвинутых
👍14❤‍🔥5
Интроспекция

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

В Python есть несколько способов использовать интроспекцию. Один из способов — использовать встроенные функции type(), dir() и getattr().

#для_начинающих
👍20
Рефлексия

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

#для_начинающих
👍26
Функция reload()

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

Функция reload() принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.

#для_начинающих
👍23🤔3
Функция coerce()

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

Аргументы функции coerce() — это два операнда, которые необходимо привести к одному типу. Функция возвращает кортеж из двух значений, первый элемент которого — это преобразованный первый операнд, а второй элемент — это преобразованный второй операнд.

Если функция coerce() не может преобразовать один из операндов, она возвращает значение None.

#для_начинающих
👍24
Функция hex()

Функция hex() в Python используется для преобразования целого числа в его шестнадцатеричное представление. Она принимает один аргумент — целое число, которое нужно превратить, и возвращает срок с его шестнадцатеричной представлением.

#для_продвинутых
👍23
Функция oct()

Функция oct() в Python принимает один аргумент: число — целое число (двоичное, десятичное или шестнадцатеричное) или объект, который должен реализовать метод index() для возврата целого числа. Функция возвращает строку с восьмеричным представлением числа.

#для_начинающих
👍28
Функция abspath()

Функция abspath() возвращает абсолютный путь к указанному пути. Абсолютный путь — это путь, который начинается с корневого каталога файловой системы.

Функция abspath() принимает в качестве аргумента путь к файлу или каталогу. Путь может быть относительным или абсолютным.

Если путь является относительным, то функция abspath() преобразует его в абсолютный, относительно текущего рабочего каталога.

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

#для_начинающих
👍17🤔1👨‍💻1
pathlib.PureWindowsPath()

В модуле pathlib функция pathlib.PureWindowsPath() используется для создания объекта пути Windows. Этот объект представляет собой путь в файловой системе Windows, но не выполняет никаких операций ввода-вывода.

Аргумент path может быть строкой, представляющей путь Windows, или другим объектом пути, который можно привести к типу PureWindowsPath.

#для_начинающих
👍9
struct.Struct()

Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.

Синтаксис:
struct.Struct(format_string)


Аргументы:
format_string — строка формата, описывающая структуру.

#для_провдинутых
👍10
Snowballstemmer

Библиотека Snowballstemmer предоставляет функциональность стемминга, то есть преобразования слов в их базовую форму.

Эта библиотека реализует алгоритм Портера, который является одним из наиболее известных алгоритмов стемминга. Snowballstemmer поддерживает алгоритмы стемминга для 15 языков, включая русский.

*Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.
👍28
IceCream

IceCream — это библиотека, которая предоставляет простой и эффективный способ отладки кода. Вместо того чтобы использовать функцию print() для отладки, вы можете использовать функцию ic() из библиотеки IceCream, которая позволяет вам инспектировать переменные, выражения и выполнение программы с помощью одного простого вызова функции.

В этом примере кода вывод ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.

IceCream может быть использован в любом месте, где требуется отладка кода: веб-разработка, научные вычисления, анализ данных и т.д.
👍30🏆3
Telethon

Telethon — это библиотека Python, которая позволяет вам взаимодействовать с API Telegram. Вы можете отправлять, получать или ждать новых сообщений Telegram внутри вашего Python-приложения. Вы также можете отправлять файлы контакту или группе контактов.

В этом примере мы настраиваем автоматическое отправление файлов в группу.

*Для работы этого кода вам нужно только получить ID и хэш Telegram API (что можно сделать за несколько минут).
👍30
typing.Literal

typing.Literal — это тип данных, который позволяет указать не просто какой-то тип вроде str, int или float, а конкретное значение этого типа.

Например, Literal[42] означает, что в качестве значения ожидается только 42. Важно, что проверяется не только равенство значения, но и его тип (например, нельзя будет использовать False, если ожидается 0).

#для_начинающих
👍20
Функция itertools.chain()

Функция itertools.chain() в Python объединяет несколько итераторов в один. Она принимает в качестве аргумента один или несколько итераторов, и возвращает итератор, который последовательно возвращает элементы из этих итераторов.

Например, код сверху объединяет две строки в одну.

#для_начинающих
👍22🔥2
Принцип открытости/закрытости (OCP)

Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.

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

#для_продвинутых
👍26