Python Scripts
762 subscribers
153 photos
3 links
Программы , обучалки, полезности на языке Python.

Посты каждый день.

По вопросам: @zemetsskiy
Download Telegram
Индекс первого вхождения подстроки в строку

Небольшой и скорее всего очевидный всем кусочек кода.

Есть два метода, возвращающих индекс первого вхождения подстроки в строку. Это — find() и index(). У каждого из них есть определённые особенности.

Метод find() возвращает -1 в том случае, если искомая подстрока в строке не найдена. index() же, в свою очередь, в подобной ситуации выбрасывает ошибку ValueError.
Что напечатает следующий код ?
Anonymous Quiz
66%
17
6%
10
1%
0
5%
107
16%
Error
6%
Узнать ответ
Что напечатает код ?
Anonymous Quiz
54%
10
30%
7
5%
107
9%
None
3%
Узнать ответ
Расчет времени выполнения программы

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

В этом посте есть решение, а таится оно стандартной библиотеке time.
Что выведет следующий код ?
Anonymous Quiz
44%
0 1
19%
1 0
6%
0 0
17%
Error
12%
Узнать ответ
Метод get() у словарей и его «дефолтный» результат

Сразу же рассмотрим пример с картинки.

Метод get() возвращает значение по ключу если такой ключ присутствует в словаре name_for_userid , иначе, метод возвращает дефолтное значение "Уважаемый".

Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
Какой элемент удаляет метод списка POP , если не указан аргумент ?
Anonymous Quiz
15%
Первый
60%
Последний
7%
Случайный
13%
Аргумент обязателен
5%
Узнать ответ
Как отобразить код функции в виде строки ?

Предположим, вы работаете над большим проектом. В какой-то момент времени потребовалось использовать определенную функцию. Искать ее по всем скриптам – дело долгое и муторное. Если используется IDE, то там можно просмотреть код функции достаточно просто (в пайчарме, например, при нажатом Ctrl достаточно нажать кнопку мыши по названию объекта). В питоне увидеть код функции очень просто: для этого используют модуль inspect.
Как создаются и для чего нужны статические методы?

Методы классов в Питоне делятся на 3 типа:

1) Методы экземпляров (наиболее часто используемые, в качестве первого аргумента всегда принимают self)

2) Классовые методы (здесь первым параметром передается cls. Привязаны к данному классу, а не к его экземплярам. Способны менять состояние класса, но не его экземпляров)

3) Статические методы (не требуют наличия особого первого аргумента. Фактически, не принадлежат никакому классу, а представляют собой независимую функцию, которую мы по причинам бизнес-логики решили включить в класс).

Для создания статического метода используют декоратор @staticmethod .
3 встроенные в Python функции

На сегодня в Python встроено около 70 функций. Опишем следующие три:

1) Функция max()
Возвращает максимальное значение итерируемого объекта (списка, словаря, кортежа) или переданных аргументов (если их несколько). Возможно использование дополнительных параметров: key (функция предварительной обработки значений объекта), default (значение по умолчанию, если передан пустой объект).

2) Функция len()
Определяет количество элементов в объекте (строке, списке, словаре, множестве и т.д.)

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

Несмотря на кажущуюся простоту в понимании типов параметров функций при их трактовании у начинающих разработчиков часто возникают трудности.

Если коротко, то различают 4 вида параметров:

– позиционные
– строго позиционные ( Знак косой черты свидетельствует о том, что все параметры до нее обязаны быть строго позиционными )
– ключевые
– строго ключевые
( Чтобы передать в функцию строго ключевые аргументы, их нужно предварить инструкцией * )

Замечание: позиционные аргументы должны всегда предшествовать ключевым, иначе в работе кода возникнет ошибка