Встроенные функции Python
Осведомленность о встроенных функциях Python - это самая важная вещь, которая удерживает людей от их использования и упускает простые решения своих проблем с кодированием. Я понял, что мне будет полезно потратить время на изучение этих функций, чтобы повысить свою осведомленность. Итак, вот несколько моих любимых с краткими пояснениями и примерами.
1. помощь ()
Это не совсем то, что вы, возможно, думали о встроенных функциях кодирования, но все же это может быть самым удобным из всех. Если вы запустите help()
без аргументов, вы запустите интерактивную справочную систему и получите такой ответ:
Welcome to Python 3.6's help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/3.6/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". help>
Внизу также появится поле, в котором вы можете ввести то, с чем вам нужна помощь.
Если вы запустите функцию справки с аргументом, вы получите информацию о том, что может быть модулем, функцией, классом и т. Д. Например, вы можете ввести help(int)
, и очень длинный список всех методов, доступных для класса int, будет появиться.
Я думаю, что большинство людей знают, что help()
существует, но если вы похожи на меня, вы забываете его использовать. Всякий раз, когда я вспоминаю об использовании, я всегда в конечном итоге узнаю какой-то новый лакомый кусочек или функциональность, доступную мне.
2. абс ()
Функция abs()
возвращает абсолютное значение числа. Я часто использую это, если просматриваю список чисел и ищу те, которые соответствуют определенному порогу величины, положительному или отрицательному. Вот пример:
>>> A = [-3, -2, -1, 0, 1, 2, 3] >>> [i for i in A if abs(i)>2] [-3, 3]
3. круглый ()
Округление делает именно то, что вы ожидаете, но очень удобно иметь возможность указать, до какого места вы хотите округлить. Знаете ли вы, что можно округлить до отрицательных значений? Существует необязательный аргумент для добавления места до или после десятичной дроби, которую вы хотите округлить. Если вы ничего не указываете для этого аргумента, то значение по умолчанию равно 0, т. Е. Округляется до ближайшего целого числа. Вот несколько примеров, чтобы понять, как работает функция round()
:
>>> round(12.345) 12 >>> round(12.345, 1) 12.3 >>> round(123, -1) 120
4. застежка-молния ()
Функция zip()
может объединять элементы из двух итераций в кортежи. Например, если у вас есть два списка, которые вы хотите объединить, чтобы сформировать пары элементов из списков. Это удобный прием для создания словарей из списков, которые я использую постоянно. Если у вас есть список, содержащий то, что вы хотите использовать в качестве ключей, и список, который вы хотите использовать в качестве значений, вы можете объединить этих младенцев вместе и превратить его в словарь с помощью функции dict()
. Вот пример:
>>> a = ['hello', 'ketchup', 'macaroni'] >>> b = ['world', 'mustard', 'cheese'] >>> dict(zip(a, b)) {'hello': 'world', 'ketchup': 'mustard', 'macaroni': 'cheese'}
5. enumerate ()
Этот похож на трюк с zip()
и dict()
, но на этот раз, возможно, у вас есть список элементов, которые вы хотите превратить в словарь с номерами индексов в качестве ключей. Перечисление создает кортежи итеративного объекта с элементом и номером индекса. Затем вы можете заключить это в dict()
, и у вас будет еще один простой способ создать словарь из списка. Вот пример этого в действии:
>>> weather = ['Clouds', 'Sun', 'Rain', 'Snow'] >>> dict(enumerate(weather)) {0: 'Clouds', 1: 'Sun', 2: 'Rain', 3: 'Snow'}
6. карта ()
Функция map()
принимает два аргумента: функцию и итерацию. Он применит эту функцию к каждому элементу итерации. Я часто использую это с лямбда-функциями как простой способ выполнять простые небольшие функции для всех элементов в списке. Вот пример:
>>> a = [1, 2, 3] >>> list(map(lambda x: x**2, a)) [1, 4, 9]
Я обернул все это в list()
, потому что без него будет возвращен только объект-итератор, а не фактические значения.
7. фильтр ()
Функция filter()
, аналогичная map()
выше, принимает два аргумента, функцию и итерацию, но вы также можете установить для функции значение None, и она будет выполнять простую проверку на достоверность или ложность элементов. Если вы передаете функцию, она должна возвращать логические значения True или False. В любом случае, будут возвращены только те предметы, которые соответствуют действительности. Иногда я использую это, чтобы отфильтровать ложные элементы из списка, сохраняя только те, которые являются правдивыми. Вот пример:
>>> a = [0, 1, False, True, '', 'hello'] >>> list(filter(None, a)) [1, True, 'hello']
Как и при использовании функции map()
выше, я обернул все это в list()
, потому что без него будет возвращен только объект-итератор, а не фактические значения.
Заключение
Это всего лишь несколько встроенных функций Python, и их изучение дало мне более полное представление о том, как другие библиотеки, которые я часто использую, используют эти функции. Я включил сюда лишь некоторые из того, что оказалось столь же полезным, поскольку я занимался кодированием, но вы можете найти полный список в документации Python. Так много всего, что нужно изучить и найти варианты использования. Сохраняйте спокойствие и продолжайте код!