Pull to refresh
0
0
Send message

И по окончании статьи появляется простой вопрос: а что именно делают протоколы под капотом? Класс Protocol предоставляет реализацию isinstance/issubclass, которые проверяют именно соответствие протокола, а не MRO?

Концептуально сенсорные кнопки могут работать, и имея глубину нажатия даже давать новый опыт использования устройства. Но в данном контексте сенсорная кнопка кажется полумерой - почему бы уже не пойти дальше и не сделать весь борт/бок телефона сенсорным и программируемым? За исключением зон для штекера зарядки, наушников, лотка SIM-карты и так далее.

... механическими кнопками (обычно это кнопки выключения, регулировки громкости и т.д.), которые не дают пользователю никакой обратной связи...

Ну да, кроме обратно связи, которую можно запрограммирова-... А, так вы уже планируете её запрограммировать. То есть, отбратную связь для механических кнопок программировать как-то не планируем, а для сенсорных - да пожалуйста.

В такие кнопки можно будет запрограммировать несколько разных действий в зависимости от нажатия, а обратная связь сделает работу с устройством эффективной и интуитивно понятной для пользователя.

Действительно, данный функционал невозможно реализовать на механических кнопках... Хотя нет, постойте, я же держу в руках DualSense с адаптивными триггерами - возможно не самый удачный пример ввиду разного размера устройств, но всё же.

А ещё лучше вообще вспомнить про декораторы.

import time

def timed(func):
  def wrapper(*args, **kwargs):
    st = time.perf_counter()
    result = func(*args, **kwargs)
    en = time.perf_counter()
    return (en - st, result)
  return wrapper

@timed
def fun():
    a=2
    b=3
    c=a+b

timetaken, result = fun()
print("Your program takes: ", timetaken) # 0.0345

Information

Rating
Does not participate
Registered
Activity