Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 December 08

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
если вкратце - мы маскируем функцию под переменную
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
поле is_empty_now используется как переменная, но при каждом обращении к ней вызывается метод __get__ у дескриптора на который мы заменили функцию
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
так что можно создать переменную которая, например, всегда равна значению какого то элемента списка
список поменяли - значение переменной также изменится
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
ну и вообще можно любую логику по сути реализовать для методов __get__ __set__ __delete__
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
вот пример реализации счетчика исходов различных - тут переменные в классе только __dead и __alive, но также есть свойства total, alive_rel, dead_rel которые читаются снаружи так же как и переменные, но вычисляются при обращении
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
arnold
Занятие на глобалках сделано поидее, и классы я пока на Хирьянове не дошел, потому думаю сделать на глобаках а следом после занятия о классах отрефакторить
да сразу делайте @dataclass и @property
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
например - координата текущая зависит от предыдущей координаты и скорости на каждом шаге
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
при помощи property можно сделать так чтобы координата зависела от скорости и автоматически считалась
источник
2020 December 09

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
std::slavik
да сразу делайте @dataclass и @property
Понял спасибо буду копаться , а по поводу застревания в стенках есть краткая подсказка?))) был бы очень признателен
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
arnold
Понял спасибо буду копаться , а по поводу застревания в стенках есть краткая подсказка?))) был бы очень признателен
самое простое - добавить гистерезис
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
эта проблема встречается, например еще в цифровой электронике всякой
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
например есть когда вход который переключается в 1 если входное напряжение >=2.7В
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
когда напряжение 2.7В - вход начинает туда-сюда быстро переключаться из за шумов
чтобы это побороть - ставят триггеры шмитта например
которые переключаются в 1 если напряжение пробивает снизу 2.7В
но обратно - переключаются если сверху будет пробито, скажем 2.65В
то есть порог срабатывания в одну сторону и в другую - разный
источник

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
std::slavik
самое простое - добавить гистерезис
Вообще очень интересно , откуда данное явление возникло при рандомном перемещении шаров
источник

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Тоесть само явление на применении тока я понял , только как оно имеет роль в программе не понял))
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
std::slavik
когда напряжение 2.7В - вход начинает туда-сюда быстро переключаться из за шумов
чтобы это побороть - ставят триггеры шмитта например
которые переключаются в 1 если напряжение пробивает снизу 2.7В
но обратно - переключаются если сверху будет пробито, скажем 2.65В
то есть порог срабатывания в одну сторону и в другую - разный
Сейчас же данное яление контроллерами борется ?
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
arnold
Сейчас же данное яление контроллерами борется ?
где как)
источник

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
std::slavik
когда напряжение 2.7В - вход начинает туда-сюда быстро переключаться из за шумов
чтобы это побороть - ставят триггеры шмитта например
которые переключаются в 1 если напряжение пробивает снизу 2.7В
но обратно - переключаются если сверху будет пробито, скажем 2.65В
то есть порог срабатывания в одну сторону и в другую - разный
В коде оно возникает за счет того что на итерации прибавления движения происходит переход в - 0 и наоборот , и потому начинается такой лаг , понял правильно вроде ?
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник