Pythoner
7.21K subscribers
861 photos
28 videos
4 files
656 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🤣29👍4😁4🗿3
🐍cProfile - это модуль в стандартной библиотеке Python, который предоставляет возможность профилирования кода. Он позволяет измерить время выполнения каждой функции в вашем коде, а также количество вызовов каждой функции. Это делает его отличным инструментом для определения тех мест в вашем коде, которые являются узкими местами и могут быть оптимизированы.

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

➡️Использование cProfile довольно просто. Вы просто импортируете модуль и вызываете функцию cProfile.run(), передавая ей строку кода, который вы хотите проанализировать. Вы также можете использовать cProfile в качестве командной строки, передав ему имя файла Python, который вы хотите профилировать. Результаты профилирования могут быть отсортированы по различным критериям, таким как общее время выполнения, время выполнения на вызов и количество вызовов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
🐍Для создания словаря из двух списков в Python можно воспользоваться функцией zip(). Функция zip() объединяет элементы двух списков попарно и создает кортежи, которые затем можно преобразовать в словарь.

⬆️В данном примере мы создаем два списка keys и values, а затем используем функцию zip() для объединения элементов этих списков. Затем мы преобразуем полученные кортежи в словарь с помощью функции dict(). Результат выполнения кода будет следующим:

{'a': 1, 'b': 2, 'c': 3}


➡️Таким образом, мы создали словарь, в котором ключами являются элементы списка keys, а значениями - элементы списка values.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥1
🐍Trac - это веб-приложение, написанное на языке программирования Python, которое предоставляет инструменты для управления проектами и отслеживания ошибок.

➡️Trac позиционируется как простой и легкий инструмент для управления проектами и разработки программного обеспечения. Он широко используется сообществами разработчиков для совместной работы над проектами, отслеживания прогресса и обмена информацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥1
🐍Декораторы - это особый тип функций в Python, которые позволяют изменять поведение других функций. Декораторы позволяют добавлять новую функциональность к существующим функциям без изменения их кода.

➡️Для создания декоратора в Python используется символ @, после которого указывается имя декоратора. Декоратор представляет собой функцию, которая принимает другую функцию в качестве аргумента и возвращает новую функцию.

⬆️В данном примере мы создаем декоратор mydecorator, который выводит сообщения до и после вызова функции. Затем мы применяем декоратор к функции sayhello с помощью символа @. При вызове функции sayhello декоратор mydecorator добавляет дополнительное поведение к функции, выводя соответствующие сообщения.

💡Важно помнить, что декораторы могут быть использованы для различных целей, таких как логирование, проверка аргументов, кэширование и другие. Декораторы улучшают читаемость и поддерживаемость кода, делая его более гибким и масштабируемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
🐍Аннотация свойств (property annotation) в Python позволяет устанавливать атрибуты для доступа к атрибутам класса через геттеры, сеттеры и делитеры. Это удобный способ добавить логику к чтению и записи атрибутов объекта.

⬆️В этом примере класс Person имеет атрибут _name, к которому можно получить доступ через свойство name, определенное с помощью декоратора @property. Мы также определяем методы name.setter и name.deleter, чтобы управлять установкой и удалением значения атрибута name.

💡Использование аннотированных свойств помогает улучшить читаемость и поддерживаемость кода, а также добавляет гибкость и контроль над доступом к данным в классах Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
🐍Поиск в строке (string search) - это процесс поиска подстроки в строке для определения наличия или расположения конкретной последовательности символов. В Python для этого часто используется метод find(), который возвращает индекс первого вхождения подстроки в строку, или метод index(), который возвращает индекс первого вхождения подстроки, бросая исключение, если подстрока не найдена.

⬆️В обоих примерах мы ищем подстроку "world" в строке "Hello, world!". Первый пример использует метод find(), который вернет индекс первого вхождения подстроки, если она найдена, или -1, если нет. Второй пример использует метод index(), который также возвращает индекс первого вхождения подстроки, но бросает исключение ValueError, если подстрока не найдена.

➡️Это базовые примеры поиска в строке в Python, и существуют и другие методы и библиотеки для более сложных операций поиска и обработки строк. Вам также может быть полезно изучить регулярные выражения (модуль re) для более гибкого поиска и обработки текста в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3🙈2
🐍Метод issuperset() в Python используется для проверки, является ли одно множество надмножеством другого. То есть, если все элементы одного множества также присутствуют во втором множестве, то первое множество считается надмножеством второго.

⬆️В этом примере множество set1 считается надмножеством множества set2, так как все элементы множества set2 присутствуют в множестве set1. Поэтому результат result1 будет True. В обратном случае, множество set2 не является надмножеством множества set1, поэтому результат result2 будет False.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1👾1
🐍Метод insert() в Python используется для вставки элемента в список по указанному индексу. Этот метод изменяет исходный список, добавляя новый элемент на указанную позицию, сдвигая остальные элементы вправо.

⬆️В этом примере элемент "abc" вставляется на позицию с индексом 2 в список my_list. Результат будет [1, 2, 'abc', 3, 4, 5]. Все элементы с позиции 2 и далее сдвигаются на одну позицию вправо.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥1
🐍Метод isalnum() в Python используется для проверки того, содержит ли строка только буквы или цифры. Если все символы в строке являются буквами или цифрами, то метод возвращает True, в противном случае - False.

⬆️В первом примере метод isalnum() возвращает True, так как строка "Hello123" содержит только буквы и цифры. Во втором примере метод возвращает False, так как строка "Hello, World!" содержит символы, отличные от букв и цифр.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
🐍*args - это параметр в Python, который используется для передачи произвольного количества аргументов в функцию.

➡️Когда вы определяете функцию с пометкой *args в качестве одного из ее параметров, это означает, что функция может принимать любое количество позиционных аргументов.
Внутри функции *args представляется в виде кортежа, содержащего все переданные аргументы.

⬆️В данном примере функция my_function принимает произвольное количество аргументов и выводит их на экран.
Вызов этой функции с аргументами 'apple', 'banana', 'cherry' приведет к выводу:

apple
banana
cherry


💡*args очень удобен, когда вы не знаете заранее, сколько аргументов может быть передано в функцию, либо когда вам нужно обрабатывать различное количество аргументов без необходимости перечисления их всех в определении функции.
Please open Telegram to view this post
VIEW IN TELEGRAM
🙈6🗿64🤔4🔥3🤨3
🐍Позиционные параметры в Python - это параметры функции, которые передаются по их порядковому номеру в вызове функции. То есть порядок, в котором вы передаете аргументы при вызове функции, должен соответствовать порядку, в котором они были определены в сигнатуре функции.

⬆️В приведенном примере, a и b - это позиционные параметры функции add_numbers. При вызове функции add_numbers(3, 5), значение 3 соответствует параметру a, а значение 5 - параметру b.

➡️Если при вызове функции не будет передано нужное количество аргументов, или будут переданы в неправильном порядке, возникнет ошибка.

➡️Позиционные параметры полезны, когда вы знаете точно, в каком порядке вы собираетесь передавать аргументы в функцию. Они являются одним из способов передачи данных в функции в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
🐍Метод bin() в Python используется для преобразования целого числа в двоичное представление в виде строки.

➡️Метод bin() возвращает строку, которая начинается с префикса "0b", за которым следует двоичное представление числа.

💡Обратите внимание, что если вы хотите использовать двоичное число в вычислениях, вам может понадобиться удалить префикс "0b" и сконвертировать строку обратно в число:

num = 0b1010
print(num) # Вывод: 10


➡️Таким образом, метод bin() удобен для преобразования целых чисел в их двоичное представление в строковом формате.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥3
Метод list.append() в Python используется для добавления элемента в конец списка. При вызове этого метода элемент, переданный в качестве аргумента, будет добавлен в конец списка.

📈Этот метод очень удобен, когда вам нужно расширить список новым элементом, не зная заранее размер списка. Вы можете добавлять элементы в список по одному, используя метод append(), что делает его очень удобным для работы с динамическим списком.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥3
🤣21👻5😁4
🧭Метод set.clear() в Python используется для удаления всех элементов из множества. При вызове этого метода все элементы, которые были добавлены в множество, будут удалены, и множество станет пустым.

📈Этот метод может быть полезен, если вам нужно очистить множество и начать заново добавлять элементы в него.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4🔥2
🌐Метод string.swapcase() в Python используется для замены регистра букв в строке. Все заглавные буквы будут преобразованы в строчные, а все строчные буквы - в заглавные.

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

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥43