1) С таким способом можно записать в одну строку
2) Это правильно, т.к. with сам открывает и закрывает файл, переменная lines будет существовать только в своей области видимости там, где используется, а не висеть до конца выполнения программы.
С одной стороны отталкивает, с другой — кому может быть не интересен коммерческая выгода? Вобщем, все зависит от интересности проекта. Можете рассказать?
Ну, собственно, идеи + готовность к их воплощению (возможно, от разных людей) я и ожидал услышать. Может, действительно, странновато, думаю, если прям уж никаких идей не будет, то я попробую предложить свои, но они врядли кому-либо понравятся, с фантазией у меня не очень )
А как вы представляете себе хранение bool значения не в виде 0/1?
Видели, например, erlang или ocaml.
А вобще, я сказал лишь о том, что какой-то специальной дополнительной конвертации не требуется и непонятностей при этой конвертации быть не может, так как bool — это по сути int.
Да, не одно и то же, но это означает, что int — это не bool, но bool — это int. Булевы значения не требуют конвертации, они и так хранятся в том же виде, что и int.
А зачем для проверки пустоты приведение к int? «if l» вместо «if len(l) != 0» — действительно, писать удобно (хотя по мнению некоторых и непитонично).
Оно и не приводится к int, оно приводится к логическому типу. К тому же, кроме «питоничности» и лучшей читаемости, вариант "if l:" скорее всего ещё и быстрее.
Но когда переменная будет то ли bool, то ли int — это ИМХО нехорошо.
Добро пожаловать в язык с утиной типизацией ) Хотя вроде в любой момент понятно, какой тип имеет переменная и в чему он будет приведён: 0, "", [] — False, остальное — True
А что в этом плохого? Мне кажется вполне логичным поведением и им часто пользуются для проверки переменной на равенство нулю и для проверки пустоты строки или списка и т.д.
получилось даже красивей, чем в шарпе ))
2) Это правильно, т.к. with сам открывает и закрывает файл, переменная lines будет существовать только в своей области видимости там, где используется, а не висеть до конца выполнения программы.
но правильней даже так:
Это если не говорит о вкладе в различных мероприятиях вроде GSoC, CodeIn, etc и вклад в больших проектах вроде Chromium/V8, etc
Достаточно? =)
Возможно и так, попробую всё же чуть позже дописать кое-какие идеи в топик.
2) Тут я свои предпочтения перечислил: Python/C/CPP. У вас?
С остальными пунктами без идеи действительно никак. Пока единственную предложил gribozavr.
А вобще, я сказал лишь о том, что какой-то специальной дополнительной конвертации не требуется и непонятностей при этой конвертации быть не может, так как bool — это по сути int.
www.python.org/dev/peps/pep-0285/ — читайте внимательно первый абзац.
if l:
" скорее всего ещё и быстрее.Добро пожаловать в язык с утиной типизацией ) Хотя вроде в любой момент понятно, какой тип имеет переменная и в чему он будет приведён: 0, "", [] — False, остальное — True