🐍 Укус питона 🐍
2.6K subscribers
979 photos
18 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет этот код?
Anonymous Quiz
8%
0
63%
27
25%
Ошибку
4%
Узнать ответ
Какой из этих двух классов вызывается первым ?
Спросят с вероятностью 3%


При создании объекта класса в Python, порядок вызова конструкторов определяется методом разрешения порядка (MRO) и зависит от иерархии наследования.

Для примера с двумя классами, где один наследуется от другого:
class A:
def init(self):
print("Constructor of A")

class B(A):
def init(self):
print("Constructor of B")
super().__init()

# Создание экземпляра класса B
b = B()


Порядок вызова будет следующим:
1️⃣ При создании объекта класса B сначала вызывается его initinit.
2️⃣ Затем внутри конструктора B вызывается super().__init(), что приводит к вызову конструктора базового класса A.

Таким образом, сначала вызывается конструктор B, а затем конструктор A.

Метод разрешения порядка (MRO) определяет порядок обработки классов при наследовании. Для получения MRO для класса можно использовать атрибут mro или функцию mro().

Например:
print(B.mro())


Результатом будет кортеж, указывающий порядок разрешения методов для класса B. При множественном наследовании MRO становится еще более важным.

Важно помнить, что при создании объекта класса сначала вызывается конструктор самого класса, затем конструкторы его базовых классов в порядке, определенном MRO. В случае множественного наследования порядок вызова конструкторов определяется методом разрешения порядка (MRO).
Что выведет код сверху?
Anonymous Poll
23%
[1, 2, 3]
1%
[1, 2, 3, 4]
43%
[1, 2, 3, 5]
32%
[1, 2, 3, 4, 5]
Что выведет код?
Anonymous Quiz
5%
2
28%
3
9%
6
58%
Ошибку
Загрузка изображения

Для начала работы с изображением необходимо его загрузить с помощью функции open() из библиотеки PIL и сохранить в переменную. Например, следующий код загрузит изображение с именем "image.jpg":

from PIL import Image

image = Image.open("image.jpg")



После выполнения этого кода изображение будет загружено и готово к дальнейшей обработке.

➡️Изменение размера изображения

Библиотека PIL предоставляет функцию resize(), которая позволяет изменить размер изображения. Например, следующий код изменит размер изображения до 500 пикселей в ширину и 300 пикселей в высоту:

resized_image = image.resize((500, 300))


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

➡️Сохранение изображения

После обработки изображения его можно сохранить в файл с помощью функции save().

resized_image.save("resized_image.jpg")


Также можно указать другой формат файла.
🔮 В мире Python существует функция str.join(), которая действительно похожа на волшебную палочку, объединяющую слова, фразы или элементы списка в одну большую строку.

Представьте себе, что вы устраиваете вечеринку и хотите собрать всех друзей в круг. str.join() — это как магия, которая собирает всех вместе!

🔮 Давайте посмотрим, как это работает на практике:

# Допустим, у нас есть список слов
words = ["Привет", "мир", "я", "Python"]

# И мы хотим объединить их в предложение
sentence = ' '.join(words)
print(sentence)


🔝 В результате этого кода мы получим строку: "Привет мир я Python".

🔮 Как это работает?

join() берет список (в нашем случае words) и использует пробел ' ' в качестве "клея", чтобы соединить все слова в одну строку. Таким образом, каждый элемент списка становится частью большой строки, разделенной пробелами или любым другим символом, который мы укажем перед join().

🔮 Еще один пример:

users = ["RimMirK", "Anuke", "compuser"]

result = ', '.join(users)
print(result) # "RimMirK, Anuke, compuser"


🔝 Здесь мы соединили пользователей через запятую.

Таким образом, функция str.join() предоставляет удобный способ объединения элементов списка в одну строку, используя указанный разделитель.
GeoPy - это популярная библиотека для языка программирования Python, предназначенная для выполнения различных геокодировочных операций.

➡️ Она обеспечивает простой способ преобразования адресов в географические координаты (широту и долготу) и обратно.

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

🔼 Еще одной полезной функцией GeoPy является возможность расчета расстояний между двумя точками на карте. Это может быть полезно для множества приложений, включая логистику, планирование маршрутов и анализ местоположения.
Хотите узнать, какой алгоритм сортировки быстрее и эффективнее? Присоединяйтесь к нашему открытому уроку!

🔥 Тема: Визуальное сравнение 4-5 алгоритмов сортировок.
📅 Дата: 15 июля в 20:00 мск.

На занятии мы подробно рассмотрим два популярных алгоритма сортировки: Выбором и Пирамидальной. Разберём их по различным критериям, включая сложность, количество обменов, стабильность и адаптивность.

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

🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

🔴 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://otus.pw/v8gq/?erid=LjN8KP9gn
Что выведет код?
Anonymous Quiz
19%
True
27%
False
4%
0
50%
Ошибку
🐍 Как работает хэш-таблица?

⬆️ Хэш-таблица в Python реализована в виде словаря (dict). Процесс работы хэш-таблицы следующий:

➡️ Хэширование ключей: При добавлении пары ключ-значение в словарь, Python вычисляет хэш-код ключа с помощью функции hash(). Хэш-код представляет собой уникальное целое число, которое является "отпечатком" ключа.

➡️ Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий. Один из распространенных методов - метод цепочек, где для каждой "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.

➡️Поиск значения: При поиске значения по ключу, Python вычисляет хэш-код ключа и определяет соответствующую "ячейку" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).