Just Python
Closed channel
🐍Простое изучение Python. Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Show more9 696
Subscribers
-624 hours
-217 days
-7630 days
Posts Archive
9 696
Почему значения по умолчанию разделяются между объектами
Часто ожидается, что вызов функции создаёт новые объекты для значений по умолчанию. Но это не так. Значения по умолчанию создаются лишь однажды, когда функция определяется. Если этот объект изменяется, как словарь в нашем примере, последующие вызовы функции будут использовать изменённый объект.
По определению, неизменяемые объекты (числа, строки, кортежи и None), безопасны при изменении. Изменение изменяемых объектов, таких как словари, списки, и экземпляры пользовательских классов может привести к неожиданным последствиям.
#theory // Just Python
9 696
Эффективное использование метода __ipow__(self, other[, modulo])
Метод ipow(self, other[, modulo]) в Python позволяет определить поведение оператора возведения в степень с присваиванием (=) для пользовательских классов. Этот метод может включать необязательный параметр modulo, который позволяет выполнять возведение в степень по модулю. Этот лайфхак полезен для работы с числовыми данными, особенно в математических и криптографических приложениях.
Метод ipow является специальным методом, который позволяет реализовать операцию возведения в степень с присваиванием. Когда оператор = применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом возведения в степень. Если указан параметр modulo, результат операции будет взят по модулю.
Использование метода ipow позволяет легко реализовать операцию возведения в степень с присваиванием для пользовательских классов.
#theory // Just Python
9 696
Эффективное использование метода ilshift(self, other)
Метод ilshift(self, other) в Python позволяет определить поведение оператора побитового сдвига влево с присваиванием (<<=) для пользовательских классов. Этот метод полезен для работы с битовыми операциями и манипуляциями с данными, которые требуют эффективного изменения битовых представлений.
Метод ilshift является специальным методом, который позволяет реализовать операцию побитового сдвига влево с присваиванием. Когда оператор <<= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом сдвига.
Использование метода ilshift позволяет легко реализовать операцию побитового сдвига влево с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
9 696
Эффективное использование метода irshift(self, other)
Метод irshift(self, other) в Python позволяет определить поведение оператора побитового сдвига вправо с присваиванием (>>=) для пользовательских классов. Этот метод полезен для работы с битовыми операциями и манипуляциями с данными, которые требуют эффективного изменения битовых представлений.
Метод irshift является специальным методом, который позволяет реализовать операцию побитового сдвига вправо с присваиванием. Когда оператор >>= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом сдвига.
Использование метода irshift позволяет легко реализовать операцию побитового сдвига вправо с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
Как правильнее использовать импортирование
В общих случаях не используйте
from modulename import *. Это засоряет пространство имён того, кто импортирует. Некоторые люди избегают этой идиомы даже для тех немногих модулей, которые были спроектированны, чтобы так импортироваться. Это такие модули как Tkinter и threading.
Импортируйте модули в начале файла. Это отвечает на вопрос, какие модули требует Ваш код и находится ли имя модуля в области видимости. Запись по одному импорту на строку упрощает добавление и удаление операторов импорта, но множественный импорт будет занимать меньше места на экране.
#theory // Just Python9 696
Как организовать совместный доступ к глобальным переменным для нескольких модулей
Канонический способ организовать подобный доступ - это создать отдельный модуль (часто называемый config или cfg). Просто добавьте
import config в каждый модуль приложения. При этом модуль становится доступен через глобальное имя. Поскольку существует только один экземпляр модуля, любые изменения, произведённые в модуле отражаются везде.
#theory // Just Python9 696
9 696
Эффективное использование метода __iand__(self, other)
Метод iand(self, other) в Python позволяет определить поведение оператора побитовой операции "и" с присваиванием (&=) для пользовательских классов. Этот метод полезен для выполнения битовых операций над данными, которые хранятся в пользовательских объектах.
Метод iand является специальным методом, который позволяет реализовать операцию побитового "и" с присваиванием. Когда оператор &= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом операции.
Использование метода iand позволяет легко реализовать операцию побитового "и" с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
Почему анонимные функции (lambda), определенные в цикле с разными значениями, возвращают один и тот же результат
Это случается, поскольку
x не является локальной для lambda, а определена во внешней области видимости, и получается тогда, когда она вызывается - а не когда определяется.
В конце цикла, x=4, поэтому все функции возвращают 4**2, то есть 16. Это можно также проверить, изменив значение x и посмотрев на результат.
#theory // Just Python9 696
Эффективное использование метода __ixor__(self, other)
Метод ixor(self, other) в Python позволяет определить поведение оператора побитового исключающего ИЛИ с присваиванием (^=) для пользовательских классов. Этот метод полезен для выполнения битовых операций над данными, которые хранятся в пользовательских объектах.
Метод ixor является специальным методом, который позволяет реализовать операцию побитового исключающего ИЛИ с присваиванием. Когда оператор ^= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом операции.
Использование метода ixor позволяет легко реализовать операцию побитового исключающего ИЛИ с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:
1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
9 696
Эффективное использование метода irshift(self, other)
Метод irshift(self, other) в Python позволяет определить поведение оператора побитового сдвига вправо с присваиванием (>>=) для пользовательских классов. Этот метод полезен для работы с битовыми операциями и манипуляциями с данными, которые требуют эффективного изменения битовых представлений.
Метод irshift является специальным методом, который позволяет реализовать операцию побитового сдвига вправо с присваиванием. Когда оператор >>= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом сдвига.
Использование метода irshift позволяет легко реализовать операцию побитового сдвига вправо с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
Какие правила для глобальных и локальных переменных в Python
В Python, переменные, на которые только ссылаются внутри функции, считаются глобальными. Если переменной присваивается новое значение где-либо в теле функции, считается, что она локальная, и, если вам нужно, то нужно явно указывать её глобальной.
#theory // Just Python
9 696
Эффективное использование метода ior(self, other)
Метод ior(self, other) в Python позволяет определить поведение оператора побитового ИЛИ с присваиванием (|=) для пользовательских классов. Этот метод полезен для выполнения битовых операций над данными, которые хранятся в пользовательских объектах.
Метод ior является специальным методом, который позволяет реализовать операцию побитового ИЛИ с присваиванием. Когда оператор |= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом операции.
Использование метода ior позволяет легко реализовать операцию побитового ИЛИ с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте.
#theory // Just Python
9 696
Использование метода __complex__(self)
Метод complex(self) в Python позволяет определить пользовательское поведение при преобразовании объекта в комплексное число. Этот метод полезен для пользовательских классов, которые хотят представлять свои данные в комплексной форме.
Метод complex является специальным методом, который вызывается при использовании встроенной функции complex() для объекта. Он должен возвращать комплексное число, которое представляет объект в контексте комплексных чисел.
Использование метода complex позволяет объектам вашего класса быть совместимыми с встроенными инструментами Python для работы с комплексными числами. Это не только делает ваш код более гибким и удобным для использования, но и улучшает его интеграцию с другими частями экосистемы Python, особенно в области научных и инженерных вычислений.
#theory // Just Python
9 696
Почему при получаем исключение UnboundLocalError, хотя переменная имеет значение?
Это происходит потому, что, когда вы делаете присваивание переменной в области видимости, она становится локальной в этой области и скрывает другие переменные с таким же именем во внешних областях.
Когда последняя инструкция в
foo присваивает новое значение переменной x, компилятор решает, что это локальная переменная. Следовательно, когда более ранний print пытается напечатать неинициализированную переменную, возникает ошибка.
#theory // Just Python9 696
Использование метода __int__(self)
Метод int(self) в Python позволяет определить пользовательское преобразование объекта в целое число. Этот метод полезен для пользовательских классов, которые хотят определить способ преобразования своих данных в целочисленный формат.
Метод int является специальным методом, который вызывается при использовании встроенной функции int() для объекта. Он должен возвращать целое число, представляющее объект.
Использование метода int позволяет вашим пользовательским классам быть совместимыми с встроенными операциями и функциями Python, работающими с целыми числами. Это упрощает интеграцию с другими частями экосистемы Python и делает ваш код более гибким и удобным для использования.
#theory // Just Python
9 696
🤬🤬🤬 Война идёт между банками, а страдают обычные люди
Хорошая новость — внимательные клиенты могут оказаться в жирном плюсе:
— Получить 15.000 просто за регистрацию в приложении банка
— Ставка 5% годовых на кредит (да в 2024)
— Кешбэк до 80% на ВСЕ виды товаров
— Вклад под 20% с возможностью снятия наличных
Забить на эти предложения = выстрелить себе в ногу.
Пользуйтесь, пока лавочку не прикрыли: @etogrаbezh
9 696
Использование метода __float__(self)
Метод float(self) в Python позволяет определить пользовательское преобразование объекта в число с плавающей точкой (float). Этот метод полезен для пользовательских классов, которые хотят представить свои данные в формате числа с плавающей точкой.
Метод float является специальным методом, который вызывается при использовании встроенной функции float() для объекта. Он должен возвращать число с плавающей точкой, представляющее объект.
Использование метода float позволяет вашим пользовательским классам быть совместимыми с встроенными операциями и функциями Python, работающими с числами с плавающей точкой. Это упрощает интеграцию с другими частями экосистемы Python и делает ваш код более гибким и удобным для использования.
#theory // Just Python
