You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Знаете что общего между языком Python и балончиком с краской ? Они оба хороши для создания меток! В Python их называют переменными, а в лесу это метки на стволах деревьев:
В Python метки можно ставить на что угодно: строки, числа, функции и даже модули. Для навешивания меток используют знак присваивания =:
Представьте себя функцией. Да, это не просто, и все же...
Вас зовут get_contacts и вы умеете находить контакты человека по email-адресу: его адрес, имя и номер телефона. Вы не прочь поделиться информацией с другими, но Python вам это запрещает. Нельзя возвращать так много данных разом, результат у функции может быть только один. Вы можете выбрать что-то одно, самое важное: адрес, имя, или телефон человека. Или можете проявить изобретательность и упаковать все свои данные в одну переменную.
Как упаковать
Для функции get_contacts(email) доступны несколько способов упаковки данных в более сложную структуру: словарь dict(), кортеж tuple() и еще несколько других. Рассмотрим подробнее последний вариант — tuple.
Зачем нужны методы, когда есть функции? В библиотеке Python полно удобных функций, а если их не хватает, то можно установить пакет с PYPI и взять её оттуда. Зачем вводить новую сущность?
У вас есть программа с чат-ботом для Telegram, в ней 200 строк кода. В программе используется функция len(), она вычисляет длину строк. Кроме len в коде встречаются еще три похожие функции, они делаются то же самое, но работают с другими типами данных: списками, словарями и кортежами. В названиях начинается путаница и вместо короткого len вы пишете длинное get_str_len, get_dict_len и подобные.
На функции len мучения не заканчиваются. Осталось разобраться с тремя версиями add() и с десятком str(). Добро пожаловать в мир без методов.
Часто можно услышать, что в Python всё является объектом, и это правда. Но что такое объект? И из чего складывается это "всё"?
Когда переменных в коде становится много, их объединяют в группы — объекты. Добраться до переменной, прикрепленной к объекту можно через точку .. Выглядит это похоже на вызов метода. Для сравнения, вызовем метод __len__ и вычислим длину строки:
print('строка это тоже объект'.__len__()) # выведет 22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters