Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Использование понимания списка

Понимание списка – это немного другой способ удаления элемента из списка. Он удаляет те элементы, которые удовлетворяют заданному условию.

Например – чтобы удалить четное число из данного списка, мы определяем условие как i% 2, которое даст напоминание 2 и удалит те элементы, для которых напоминание равно 2.
Kwargs

Две звездочки перед названием аргумента позволяют нам получить произвольное число произвольно названных именованных аргументов (еще их называют аргументами ключевых слов). Такую переменную часто называют kwargs (от key-word arguments). В нее будет записан словарик (dict) из пар название ключевого слова (строка) и значение аргумента.

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

Метод remove() используется для удаления указанного значения из списка. Он принимает значение элемента в качестве аргумента. Давайте разберемся в следующем примере.

Если список содержит более одного элемента с одинаковым именем, он удаляет первое вхождение этого элемента.
Как правильно добавить комментарии?
Anonymous Quiz
8%
/*комментарий*/
10%
//комментарий
hash()

hash() в Python – это целое число фиксированного размера, которое идентифицирует конкретное значение.

Если вам нужно шифровать пароли, то для этого подойдет модуль стандартной библиотеки Python hashlib.

Он включает в себя безопасные алгоритмы хеширования FIPS, такие как SHA1, SHA224, SHA256, SHA384, а также SHA512 и MD5.

Python также поддерживает функции хеширования adler32 и crc32, но они содержатся в модуле zlib. Одно из самых популярных применений хеширования это хранение хеша пароля, вместо самого пароля.

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

Существует метод быстрого создания хеша, мы рассмотрим его, когда создадим наш хеш sha512, который показан на фото.
Какой из вариантов не является законным именем переменной?
Anonymous Quiz
14%
Myvar
32%
_myvar
48%
my-var
7%
my_var
Selenium

Selenium — отличный инструмент, который позволяет разработчикам эмулировать (имитировать) действия в браузере пользователя с использованием всего лишь нескольких строк кода. Используя инструменты, которые он предлагает, очень легко реализуется загрузка содержимого веб-страниц в браузер, а также имитация взаимодействия пользователя с её элементами и даже с учетом особенностей человеческого поведения.

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

Поэтому если вы создаете приложение с помощью Selenium, убедитесь, что вы не нарушаете законов, связанных с правилами Web Browser Automation. Используйте его для целей тестирования в при разработке собственных проектов.
Как создать переменную с числовым значением 5?
Anonymous Quiz
13%
x=int(5)
62%
все варианты правильные
25%
x = 5
Tempfile

Tempfile — это модуль из стандартной библиотеки, используемый для создания временных файлов и каталогов. Такие файлы очень удобны, когда мы не хотим хранить данные постоянно. Если мы работаем с массивными данными, то эти файлы создаются с уникальными именами и хранятся в месте по умолчанию, варьирующемся от вашей операционной системы. Например, в Windows папка temp находится в каталоге
%ИМЯПОЛЬЗОВАТЕЛЯ%/AppData/Local/Temp, в то время как в иных системах папка временных файлов находится в других местах.

На примере мы видим, как создать временный файл с помощью функции tempfile(). Сначала мы импортировали модуль tempfile, после чего определили переменную и использовали нашу функцию для создания временного файла. После чего мы использовали оператор print 2 раза. Первый, чтобы получить объект нашего файла, а второй, чтобы получить точное имя файла. Имя файла генерируется случайным образом и может варьироваться от пользователя к пользователю.
Какое правильное расширение файла для файлов Python?
Anonymous Quiz
2%
.pt
2%
.pyt
3%
.pyth
94%
.py
Функция sys.platform

Значение sys.platform – идентификатор платформы. Вы можете использовать sys.platform чтобы добавлять модули к sys.path, импортировать разные модули, в зависимости от платформы, или запускать разные части кода.

На данном примере код показывает способы проверки того, используем ли мы определенную операционную систему. Если мы используем Windows, мы получим определенную информацию из реестра Windows, при помощи модуля Python под названием _winreg. Если мы используем Linux, мы можем выполнить команду ls, чтобы получить информацию о каталоге, в котором мы находимся.
Как создать переменную с плавающим числом 3.7?
Anonymous Quiz
21%
x = float(3.7)
11%
x = 3.7
68%
все варианты верны
Метод replace()

Слово replace переводится как «заменять», что название этого метода является отличным описанием того, что он делает. С помощью метода replace можно заменить часть строки, называемую подстрокой или её всю на другую строку. Метод replace позволяет гибко изменять только необходимые части строки str.

В качестве аргументов в метод передаются:

str — Строка, к которой применяется метод (тип данных string).

old — Подстрока, которую необходимо найти и заменить (тип данных string).

new — Новая подстрока, которой будет заменена старая (тип данных string).

count— Необязательный аргумент. Количество совпадений старой подстроки, которую необходимо заменить (тип данных int). Если этот параметр не указать, то будут заменены все вхождения подстрок на новые.
Что выведет следующий код?

d = lambda p: p * 2 t = lambda p: p * 3 x = 2 x = d(x) x = t(x) x = d(x) print(x)
Anonymous Quiz
10%
7
14%
12
52%
24
15%
36
10%
48
Python tricks | Хитрости Питона
Что выведет следующий код?

d = lambda p: p * 2 t = lambda p: p * 3 x = 2 x = d(x) x = t(x) x = d(x) print(x)
Ошибся и выбрал не тот вариант. Поправить уже не могу. Так что за правильным вариантом в комментарии. Там ребята меня исправили - спасибо))
Что выведет следующий фрагмент кода?

x = 4.5 y = 2 print(x // y)
Anonymous Quiz
70%
2.0
23%
2.25
4%
9.0
3%
20.25
1%
21
Модуль shelve

Модуль shelve реализует постоянное хранилище для произвольных объектов Python, значения которого можно извлекать, используя словарные методы, что облегчает переход от сценариев на основе словаря к тем, которые требуют постоянного хранения. В качестве ключей хранилища shelve используются обычные строки.

Под понятием произвольных объектов Python понимается - все, что может обрабатывать модуль pickle. Это включает в себя большинство экземпляров классов, рекурсивных типов данных и объектов, содержащих множество общих подобъектов.
Удаления префиксов и суффиксов из строк

Для этого используются новые строковые методы str.removeprefix() и str.removesuffix(), они позволяют легко удалять ненужный префикс или суффикс из содержимого строки.
Какой метод можно использовать для удаления любых пробелов как из начала, так и из конца строки?
Anonymous Quiz
70%
strip()
6%
ptrim()
19%
trim()
5%
len()
Утиная типизация

Утиная типизация – это концепция, характерная для языков программирования с динамической типизацией, согласно которой конкретный тип или класс объекта не важен, а важны лишь свойства и методы, которыми этот объект обладает. Другими словами, при работе с объектом его тип не проверяется, вместо этого проверяются свойства и методы этого объекта. Такой подход добавляет гибкости коду, позволяет полиморфно работать с объектами, которые никак не связаны друг с другом и могут быть объектами разных классов. Единственное условие, чтобы все эти объекты поддерживали необходимый набор свойств и методов.
Добро пожаловать в мир продвинутого Python программирования: @pro_python_code

В канале вы найдете :
📃Статьи ,
📚Книги
👨‍💻 Код
🔗Ссылки
🦾 Вакансии

🚀 А для всех, кто хочет изучить Гавный ит тренд - машинное обучение рекомеднуем канал: @machinelearning_ru

#Python #Django
#MachineLearning #DataScience


1 канал вместо тысячи учебников и курсов, подписывайтесь: 👇👇👇

🐍 @pro_python_code