Несмотря на кажущуюся простоту в понимании типов параметров функций при их трактовании у начинающих разработчиков часто возникают трудности.
Если коротко, то различают 4 вида параметров:
– позиционные – строго позиционные ( Знак косой черты свидетельствует о том, что все параметры до нее обязаны быть строго позиционными ) – ключевые – строго ключевые( Чтобы передать в функцию строго ключевые аргументы, их нужно предварить инструкцией * )
Замечание: позиционные аргументы должны всегда предшествовать ключевым, иначе в работе кода возникнет ошибка
На сегодня в Python встроено около 70 функций. Опишем следующие три:
1) Функция max() Возвращает максимальное значение итерируемого объекта (списка, словаря, кортежа) или переданных аргументов (если их несколько). Возможно использование дополнительных параметров: key (функция предварительной обработки значений объекта), default (значение по умолчанию, если передан пустой объект).
2) Функция len() Определяет количество элементов в объекте (строке, списке, словаре, множестве и т.д.)
3) Функция id() Позволяет узнать уникальный идентификатор любого объекта в рамках конкретной исполняемой среды. При новом запуске скрипта значения идентификаторов поменяются.
Как создаются и для чего нужны статические методы?
Методы классов в Питоне делятся на 3 типа:
1) Методы экземпляров (наиболее часто используемые, в качестве первого аргумента всегда принимают self)
2) Классовые методы (здесь первым параметром передается cls. Привязаны к данному классу, а не к его экземплярам. Способны менять состояние класса, но не его экземпляров)
3) Статические методы (не требуют наличия особого первого аргумента. Фактически, не принадлежат никакому классу, а представляют собой независимую функцию, которую мы по причинам бизнес-логики решили включить в класс).
Для создания статического метода используют декоратор @staticmethod .
Предположим, вы работаете над большим проектом. В какой-то момент времени потребовалось использовать определенную функцию. Искать ее по всем скриптам – дело долгое и муторное. Если используется IDE, то там можно просмотреть код функции достаточно просто (в пайчарме, например, при нажатом Ctrl достаточно нажать кнопку мыши по названию объекта). В питоне увидеть код функции очень просто: для этого используют модуль inspect.
Метод get() у словарей и его «дефолтный» результат
Сразу же рассмотрим пример с картинки.
Метод get() возвращает значение по ключу если такой ключ присутствует в словаре name_for_userid , иначе, метод возвращает дефолтное значение "Уважаемый".
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
Порой возникают ситуации, когда необходимо узнать насколько быстро выполняется программа или же фрагмент скрипта. К примеру , при необходимости его оптимизации.
В этом посте есть решение, а таится оно стандартной библиотеке time.
Небольшой и скорее всего очевидный всем кусочек кода.
Есть два метода, возвращающих индекс первого вхождения подстроки в строку. Это — find() и index(). У каждого из них есть определённые особенности.
Метод find() возвращает -1 в том случае, если искомая подстрока в строке не найдена. index() же, в свою очередь, в подобной ситуации выбрасывает ошибку ValueError.