Python | Секреты
32 subscribers
316 photos
1 video
159 links
Канал о екретах языка программирования пайтон
Download Telegram
Приглашаю Вас в мой личный авторский канал о том как я управляю IT компанией - https://t.me/+O4MftuhWIkE2ODgy
Метод float()

Чтобы преобразовать строку в число с плавающей запятой, в Python используется функция float(). Эта функция принимает только один параметр — строку или целое число. Если аргументы не переданы, метод возвращает 0.0.
Объединение списков без цикла

Как бы вы решили задачу объединения списков разной длины без обхода элементов цикла?

Пусть и менее краткий, но более эффективный способ – применение модуля itertools

Заметим, что при работе с последовательностями многие полезные решения находятся в модулях стандартной библиотеки collections (контейнерные структуры данных) и itertools (операции над последовательностями). Внимательное прочтение документации модулей освободит вас от многих часов придумывания собственных «велосипедов».
Присваиваем значение переменной окружения

Для присвоения значения любой переменной среды используется функция setdefault().

Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get().

Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен».
Управление тем, что может быть импортировано из модуля, а что — нет

В некоторых языках имеются предельно чёткие механизмы экспорта из модулей переменных, методов, интерфейсов. Например — в Golang экспортируются лишь сущности, имена которых начинаются с большой буквы. В Python же экспортируется всё. Но лишь до тех пор, пока не используется атрибут all
Разделение многострочной строки (построчно)

Создать список из отдельных строчек многострочной строки можно при помощи того же метода split(), указав в качестве разделителя символ новой строки \n. Если текст содержит лишние пробелы, их можно удалить при помощи методов strip() или lstrip()
Генераторы: простой способ создания итератора

Самый простой способ создания собственных итераторов в Python — это создание генератора.

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

Создавая набор с помощью функции set(), вы получаете все уникальные элементы из списка или объекта
Блок for…else

Все мы знаем, что else неразрывно связан с блоком if, но вы, возможно, не в курсе, что else используется в цикле for.

В выражении for...else блок else выполняется только в том случае, если все итерации цикла будут успешно завершены. Если же выполнение цикла прерывается оператором break, то else не выполняется.
Библиотека showballstemmer

Работали
когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу.

Некоторые используют pymorph2 (первая слишком много потребляет ресурсов), но ведь достаточно определять основу слова, а не начальную форму для нахождения большинства результатов.

Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.

В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer
Для чего используется docstring?

В Python существует концепция PEP, или Python Enhancement Proposal. PEP представляют собой предложения или новые возможности для языка Python, которые обсуждаются и согласовываются руководящим советом Python.

PEP 257 описывает соглашения о docstring. Вы можете прочитать его, если вам нужна более подробная информация. Если обобщить, то docstring — это строковый литерал, который должен быть сразу после определения названия для модуля, функции, класса или метода.

docstring создается с помощью трех двойных кавычек.

В Python docstring игнорируются. Они не могут быть выполнены. Однако, когда вы добавляете docstring к модулю, функции и так далее, то данная строка становится специальным атрибутом, к которому можно получить доступ через " doc "
🔥В Geekbrains проходит глобальное мероприятие — Вечерний “Путь в ИТ” с Иваном Ургантом

За 3 часа в прямом эфире с Иваном Ургантом и экспертами GeekBrains, вы станете разбираться в IT лучше, чем 90% новичков, начнете понимать сложные технические термины, узнаете правду о популярных профессиях и поймете, что действительно ждет IT-индустрию в ближайшие 10 лет

Программа интенсива «Путь в IT» с Иваном Ургантом:
✔️ Как выбрать перспективное направление, которое подойдет именно вам
✔️ Какие специализации самые перспективные и насколько сложно их освоить
✔️ С чего начать и как сделать первые шаги
✔️ Что представляет собой сфера информационных технологий
✔️ 5 полезных материалов которые помогут выбрать профессию и не допустить ошибок

Успейте зарегистрироваться по ссылке и получить бесплатный доступ к интенсиву с Иваном Ургантом!
Встроенная функция id

Встроенная функция id, позволяет получичить уникальный идентификационный номер объекта. Обратите внимание, что с ним происходит, когда мы приравнивам значение одной переменной, другой.
Строки (str)

Мы не можем изменить существующую переменную, вместо этого мы должны создать новую с тем же именем.

В данном примере мы определили строковую переменную x, но допустили ошибку в слове и теперь хотим исправить «ю» на «и». Однако мы получаем TypeError. Это показывает, что строковые объекты не подлежат обновлению.
Множественное присваивание

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

Поверхностное копирование создает отдельный новый объект или список, но вместо копирования дочерних элементов в новый объект, оно просто копирует ссылки на их адреса памяти. Следовательно, если вы сделаете изменение в исходном объекте, оно будет отражено в скопированном объекте, и наоборот.
nowspaper3k (ч.2)

В нём даже есть встроенная NLP-функциональность.

Поэтому, если вы собирались использовать BeautifulSoup или другую библиотеку для вебскрапинга в своём следующем проекте, лучше сэкономьте своё время и силы и установите newspaper
Python отделяет итератор от последовательности

В Python последовательности сами по себе не являются итераторами. Скорее у каждой есть соответствующий класс-итератор, отвечающий за итерацию.

range() возвращает нам объект типа range

Мы получили ошибку TypeError: 'range' object is not an iterator. Итак, если объект типа range не является итератором, то что мы получим при использовании iter?
Атрибуты и методы

Давайте возьмем массив numpy. Мы уже использовали некоторые его методы и атрибуты!

К примеру, у каждого массива numpy есть атрибут shape, к которому вы можете получить доступ, указав имя массива, за которым следуют точка и название атрибута shape.

Состояние — Атрибуты
Есть кто живой? Скоро налью сюда постов интересных на ИТ движуху - t.me/+O4MftuhWlkE2ODgy