Скрипт переехал в репозиторий на GitHub.
Запустить в одной консоли:
python3 test_write.py A
Во второй консоли:
python3 test_write.py B
import test_b | |
import logging | |
logging.basicConfig(level=logging.DEBUG) | |
test_b.log_something() |
import curses | |
import asyncio | |
async def blink(canvas, row, column, symbol='*'): | |
'''Анимация мерцающей звезды.''' | |
while True: | |
canvas.addstr(row, column, symbol, curses.A_DIM) | |
await asyncio.sleep(0) | |
canvas.addstr(row, column, symbol) |
.module-card { | |
position: relative; | |
width: calc(50% - 15px); | |
padding-top: 36px; | |
padding-right: 36px; | |
padding-left: 36px; | |
padding-bottom: 36px; | |
background: #fff; | |
border-radius: 8px; | |
margin-bottom: 30px; |
Функция — это маленькая программа. Она выполняет свою работу и возвращает результат: число, строку или другой формат данных, все зависит от функции.
При этом функция может принимать входные данные — аргументы. Благодаря этому работает комбинация двух функций print
и capwords
:
from string import capwords
print(capwords('петр иванович')) # выведет Петр Иванович
Часто можно услышать, что в Python всё является объектом, и это правда. Но что такое объект? И из чего складывается это "всё"?
Когда переменных в коде становится много, их объединяют в группы — объекты. Добраться до переменной, прикрепленной к объекту можно через точку .
. Выглядит это похоже на вызов метода. Для сравнения, вызовем метод __len__
и вычислим длину строки:
print('строка это тоже объект'.__len__()) # выведет 22
Зачем нужны методы, когда есть функции? В библиотеке Python полно удобных функций, а если их не хватает, то можно установить пакет с PYPI и взять её оттуда. Зачем вводить новую сущность?
У вас есть программа с чат-ботом для Telegram, в ней 200 строк кода. В программе используется функция len()
, она вычисляет длину строк. Кроме len
в коде встречаются еще три похожие функции, они делаются то же самое, но работают с другими типами данных: списками, словарями и кортежами. В названиях начинается путаница и вместо короткого len
вы пишете длинное get_str_len
, get_dict_len
и подобные.
На функции len
мучения не заканчиваются. Осталось разобраться с тремя версиями add()
и с десятком str()
. Добро пожаловать в мир без методов.
Представьте себя функцией. Да, это не просто, и все же...
Вас зовут get_contacts
и вы умеете находить контакты человека по email-адресу: его адрес, имя и номер телефона. Вы не прочь поделиться информацией с другими, но Python вам это запрещает. Нельзя возвращать так много данных разом, результат у функции может быть только один. Вы можете выбрать что-то одно, самое важное: адрес, имя, или телефон человека. Или можете проявить изобретательность и упаковать все свои данные в одну переменную.
Для функции get_contacts(email)
доступны несколько способов упаковки данных в более сложную структуру: словарь dict()
, кортеж tuple()
и еще несколько других. Рассмотрим подробнее последний вариант — tuple
.