- Встроенные методы и функции Python
- #3 Python для Data Science — встроенные функции и методы Python
- Что такое функции и методы Python?
- Встроенные vs. пользовательские методы и функции
- Самые важные встроенные функции Python для проектов Data Science
- Самые важные встроенные методы Python
- Методы для строк Python
- Методы Python для работы со списками
- Методы Python для работы со словарями
- Проверьте себя
- В чем разница между функциями и методами в Python?
- Итого
Встроенные методы и функции Python
Читая материалы на данном ресурсе, вы наверное уже поняли, что интерпретатор Python, содержит довольно внушительное количество встроенных функции и классов. В этом разделе, собраны все методы в алфавитном порядке, и описаны их методы применения в коде.
Python abs() возвращает абсолютное значение числа |
Python any() Возвращает True если искомый элемент в итерации имеет значение True, если нет, вернет False |
Python all() Возвращает true, когда все элементы в итерации имеют значение true |
Python ascii() Возвращает строку в печатном представлении |
Python bin() Преобразует целое число в двоичную строку |
Python bool() Преобразует значение в логическое, вернет Ture или False |
Python bytearray() возвращает в виде массива заданный размер байтов |
Python callable() Если объект можно вызвать, вернет True иначе False |
Python bytes() возвращает неизменяемый байтовый объект |
Python chr() Возвращает символ из целого числа соответствующий кодовой точке символа Unicode |
Python classmethod() возвращает метод класса той или иной функции |
Python complex() Создает комплексное число |
Python delattr() Удалит атрибут из объекта |
Python dict() Создает словарь |
Python dir() Вернет атрибут объекта |
Python enumerate() Метод enumerate() добавит счетчик в итерируемый объект, и вернет его |
Python filter() Вернет итерацию, из элементов имеющих значение True |
Python float() Вернет число с десятичными значениями |
Python format() Форматированное представление |
Python getattr() Значение атрибута объекта |
Python globals() возвращает словарь текущей глобальной таблицы символов |
Python exec() Динамическое выполнение программы |
Python hasattr() Вернет True, если объект имеет именованный атрибут, false если не имеет |
Python help() Вызывает встроенную справочную систему |
Python hex() Преобразует целое число в шестнадцатеричное значение |
Python hash() возвращает хэш-значение объекта |
Python input() считывает и возвращает строку строки |
Python id() Вернет id объекта |
Python isinstance() Проверка объекта, является ли он экземпляром класса |
Python int() возвращает целое число из числа или строки |
Python issubclass() Проверка класса, является ли он подклассом другого класса |
Python iter() возвращает итератор |
Python list() создает список в Python |
Python locals() Возвращает словарь текущей локальной таблицы символов |
Python len() Вернет длину объекта |
Python max() Вернет самый большой элемент |
Python min() Вернет самое наименьшее значение |
Python map() Применяет функцию и возвращает список |
Python next() следующий элемент итератора |
Python memoryview() возвращает представление аргумента в памяти |
Python object() Пустой объект |
Python oct() возвращает восьмеричное значение целого числа |
Python ord() возвращает целое число символа Юникода |
Python open() Возвращает объект файла |
Python pow() Считывает степень числа |
Python print() Печать объекта |
Python property() Вернет свойства атрибута |
Python range() Диапазон чисел, с началом, концом и шагом |
Python repr() возвращает печатаемое представление объекта |
Python reversed() Обратная итерация |
Python round() Округляет число до заданных десятичных знаков |
Python set() Вернет набор |
Python setattr() задает значение атрибута объекта |
Python slice() Объект среза |
Python sorted() Отсортирует список из переданной итерации |
Python str() возвращает строковую версию объекта |
Python sum() Вернет сумму из итерации |
Python tuple() Создает кортеж |
Python type() Возвращает тип объекта |
Python zip() Возвращает итератор кортежей |
Python __import__() Функция, вызываемая инструкцией import |
Python super() Возвращает прокси-объект базового класса |
#3 Python для Data Science — встроенные функции и методы Python
Функции — одно из главных преимуществ языка Python как минимум при использовании их в проектах Data Science. Это третья часть серии материалов «Python для Data Science», в которой речь пойдет о функциях и методах.
Из нее вы узнаете не только о базовых концепциях, но познакомитесь с наиболее важными функциями и методами, которые будете использовать в будущем.
Это практическое руководство!
Желательно повторять те части, где нужно писать код, и решать задачи в конце статьи! Также рекомендуется вернуться к прошлым материалам, если вы еще не ознакомились с ними.
Что такое функции и методы Python?
Начнем с основ. Предположим, что существует переменная:
Вот простейший пример функции Python:
А вот пример метода Python:
Так что такое функции и методы Python? По сути, они превращают что-то в нечто другое. В случае этого примера ввод ‘Hello!’ дал вывод длины строки (6) и версию строки, переписанную с большой буквы: ‘HELLO!’ . Конечно, это не единственные функции. Их намного больше. Их комбинация пригодится в разных частях проекта — от очистки данных до машинного обучения.
Встроенные vs. пользовательские методы и функции
Круто то, что помимо огромного списка встроенных функций/методов, пользователи могут создавать собственные. Также они поставляются с различными Python-библиотеками. Для доступа к ним библиотеку нужно скачать и импортировать. Выходит, что возможности безграничны. Но к этому стоит вернуться позже, а сейчас сосредоточимся на встроенных элементах.
Самые важные встроенные функции Python для проектов Data Science
Функция в Python работают очень просто — ее нужно вызвать с заданными аргументами, а она вернет результат. Тип аргумента (например, строка, число, логическое значение и так далее) может быть ограничен (например, иногда нужно, чтобы это было именно целое число), но чаще аргументом может выступать значение любого типа. Рассмотрим самые важные встроенные функции Python:
print()
Эта функция уже использовалась в прошлых статьях. Она выводит различные значения на экран.
abs()
Возвращает абсолютную величину числа (то есть, целое число или число с плавающей точкой). Результат не может быть строкой, а только числовым значением.
round()
Возвращает округленное значение числа
min()
Возвращает наименьший объект в списке или из общего числа введенных аргументов. Это может быть в том числе и строка.
max()
Несложно догадаться, что это противоположность min() .
sorted()
Сортирует список по возрастанию. Он может содержать и строки и числа.
sum()
Суммирует значения списка. Он может содержать разные типы числовых значений, но стоит понимать, что с числами с плавающей запятой функция справляется не всегда корректно.
a = [3, 2, 1] sum(a) b = [4/3 , 2/3, 1/3, 1/3, 1/3] sum(b)
len()
Возвращает количество элементов в списке или количество символов в строке.
type()
Возвращает тип переменной
Это встроенные функции Python, которые придется использовать регулярно. Со всем списком можно ознакомиться здесь: https://docs.python.org/3/library/functions.html
С многими другими вы познакомитесь в следующих руководствах.
Самые важные встроенные методы Python
Большую часть методов Python необходимо применять по отношению к конкретному типу. Например, upper() работает со строками, но не с целыми числами. А append() можно использовать на списках, но со строками, числами и логическими значениями он бесполезен. Поэтому дальше будет список методов, разбитый по типам.
Методы для строк Python
Строковые методы используются на этапе очистки данных проекта. Например, представьте, что вы собираете информацию о том, что ищут пользователи на сайте, и получили следующие строки: ‘mug’ , ‘mug ‘ , ‘Mug’ . Человеку известно, что речь идет об одном и том же, но для Python это три уникальные строки. И здесь ему нужно помочь. Для этого используются самые важные строковые методы Python:
a.lower()
Возвращает версию строки с символами в нижнем регистре.
a.upper()
Противоположность lower()
a.strip()
Если в строке есть пробелы в начале или в конце, метод их удалит.
a.replace(‘old’, ‘new’)
Заменяет выбранную строку другой строкой. Метод чувствителен к регистру.
a.split(‘delimiter’)
Разбивает строку и делает из нее список. Аргумент выступает разделителем.
Примечание: в этом случае разделителем выступает пробел.
’delimeter’.join(a)
Объединяет элементы списка в строку. Разделитель можно указать заново.
Это были самые важные методы, для работы со строками в Python.
Методы Python для работы со списками
В прошлом материале речь шла о структурах данных Python. И вот к ним нужно вернуться снова. Вы уже знаете, как создавать списки и получать доступ к их элементам. Теперь узнаете, как менять их.
Используем уже знакомую собаку Freddie:
[dog] = ['Freddie', 9 , True, 1.1, 2001, ['bone', 'little ball']]
a.append(arg)
Метод append добавляет элемент к концу списка. Предположим, что нужно добавить количество лап Freddie (4).
a.remove(arg)
Удалить любой из элементов можно с помощью метода .remove() . Для этого нужно указать элемент, который необходимо удалить, а Python уберет первый такой элемент в списке.
a.count(arg)
Возвращает количество указанных элементов в списке.
a.clear()
Удаляет все элементы списка. По сути, он полностью удалит Freddie. Но не стоит волноваться, потом его можно вернуть.
Список всех методов для работы с Python можно найти здесь: https://docs.python.org/3/tutorial/datastructures.html
Методы Python для работы со словарями
Как и в случае со списками, есть набор важных методов для работы со словарями, о которых нужно знать.
dog_dict = 'name': 'Freddie', 'age': 9, 'is_vaccinated': True, 'height': 1.1, 'birth_year': 2001, 'belongings': ['bone', 'little ball']>
dog_dict.keys()
Вернет все ключи словаря.
dog_dict.values()
Вернет все значения словаря.
dog_dict.clear()
Удалит все из словаря.
Для добавления элемента в словарь не обязательно использовать метод; достаточно просто указать пару ключ-значение следующим образом:
dog_dict['key'] = 'value' dog_dict['name'] = 'Freddie'
Это все методы на сегодня.
Проверьте себя
В этом задании вам нужно использовать не только то, что узнали сегодня, но и знания о структурах данных из прошлого материала, а также о переменных — из первого.
- Есть список: test_yourself = [1, 1, 2, 2, 3, 3, 3, 3, 4, 5, 5]
- Посчитайте среднее значение элементов списка, используя знания, полученные из прошлых частей руководства.
- Посчитайте медиану, следуя тем же условиям.
sum(test_yourself) / len(test_yourself)
sum() суммирует значения элементов, а len() подсчитывает их количество. Если поделить одно значение на другое, то выйдет среднее. Результат: 2.909090
test_yourself[round(len(test_yourself) / 2) - 1]
Повезло, что в списке нечетное количество элементов.
Примечание: эта формула не сработает, если элементов будет четное количество.
len(test_yourself) / 2 подскажет, где в списке искать среднее число — это и будет медиана. Результат равен 5,5 , но результат len() / 2 всегда будет на 0,5 меньше, чем реальное число, если в списке нечетное количество элементов (можете проверить на списке с 3 или 5 элементами). Округлим 5,5 до 6 с помощью round(len(test_yourself) / 2) . Все верно — в данном случае внутри функции используется другая функция. Затем нужно вычесть единицу, потому что индексация начинается с нуля: round(len(test_yourself) / 2) — 1 .
В конце концов результат можно подставить в качестве индекса для поиска его в списке: test_yourself[round(len(test_yourself) / 2 — 1] ; или взять полученное число: test_yourself[5] . Результат — 3 .
В чем разница между функциями и методами в Python?
После прочтения этой статьи у вас наверняка появился вопрос: «Зачем нужны и функции и методы, если они делают одно и то же?»
Это один из самых сложных вопросов для тех, кто только знакомится с Python, а ответ включает много технических деталей, поэтому вот некоторые подсказки, чтобы начать разбираться.
Сперва очевидное. Отличается синтаксис. Функция выглядит вот так: function(something) , а метод вот так: something.method() .
Так зачем и методы и функции нужны в Python? Официальный ответ заключается в том, что между ними есть небольшие отличия. Так, метод всегда относится к объекту (например, в dog.append(4) методу append() нужно объект dog ). В функции объект не нужно использовать. Если еще проще, метод — это определенная функция. Все методы — это функции, но не все функции являются методами.
Если все равно не понятно, но стоит волноваться. Работая с Python и дальше, вы разберетесь в различиях, особенно, когда начнете создавать собственные методы и функции.
Вот еще один дополнительный совет: функции и методы — это как артикли (der, die, das) в немецком языке. Нужно просто выучить синтаксис и использовать их по правилам.
Как и в немецком, есть эмпирические правила, которые также должны помочь. Так, функции можно применять к разным типам объектов, а методы — нет. Например, sorted() — это функция, которая работает со строками, списками, числами и так далее. Метод upper() работает исключительно со строками.
Но главный совет в том, чтобы не пытаться понять различия, а учиться их использовать.
Итого
Теперь вы знакомы более чем с 20 методами и функциями Python. Неплохое начало, но это только основы. В следующих руководствах их количество будет расти в том числе за счет функций и методов из сторонних библиотек.
Далее нужно будет разобраться с циклами и инструкциями if .