Недавно я работал с python и pygame, и мне было интересно, более эффективно с точки зрения процессора и оперативной памяти использовать if x != y: x = y
или x = y
в моем основном цикле? Я понимаю, что разница будет настолько мала, что почти не будет разницы, но мне все еще любопытно.
Python, который более эффективен; если x! = y: x = y или x = y [дублировать]
comment
Не уверен, что вы здесь имеете в виду ... у первого оператора есть 2 компонента, оператор if и присваивание, у второго оператора просто такое же присваивание. Итак, разве не имеет смысла, что второй быстрее?
- person Chris Sprague   schedule 18.06.2016
comment
Не обязательно: разве сравнения не быстрее, чем присваивания? Тогда, если бы почти каждый раз x == y, тогда, вероятно, было бы быстрее сначала проверить, не так ли?
- person Dleep   schedule 18.06.2016
Ответы (1)
x = y
не требует сравнения, а сравнение иногда может потребовать значительных ресурсов.
Так что я бы сказал, что просто x = y
лучше.
person
Yotam Salmon
schedule
17.06.2016
Да, но точка зрения OP в том, что иногда сравнение неверно, и тогда вам не нужно присваивание.
- person jonrsharpe; 18.06.2016
Я понимаю его точку зрения, но сравнение, насколько я знаю, дороже (с точки зрения ресурсов), чем назначение.
- person Yotam Salmon; 18.06.2016