Учебники не нужны. Серьёзно. Просто берёшь и пишешь, блядь, код.
И так не только в питоне, а вообще везде. Будешь читать талмуды на многие сотни страниц — только зря время потратишь.
Открыл вики, docs.python.org, гугль, доки по либам и вперёд.
@nedel Ну я вот недавно к раби и рельсам присматривался. Простеньких туториалов на ruby-lang.org и док по рельсам хватило. Что-то длинее не имеет смысла читать.
Учебники по языкам это в основном пережиток прошлого века, когда не было интернета и доступа к банальному описанию синтаксиса и стандартной библиотеке. Бывают, конечно, и годные советы, но читать ради этого талмуды на 90% состоящии из описания синтаксиса только пустая трата времени. Маркетологи тебя ещё долго будут уверять об обратном, да.
@plhk А что не получилось? ЯП это тебе не матан, где надо вначале сурово овладеть теорией и зазубрить синтаксис. Всё отлично изучается и по мере надобности. Вначале просто копируешь чужой код, пытаешься изменить в соответствии со своими потребностями. Что-то не получилось — в гугль и читаешь конкретно тебе нужный кусок информации. Постепенно узнаешь весь язык. Такой же способ и Эрик Реймонд рекомендует, кстати, в своём эссе для хэкеров. Тут ещё огромный плюс в том, что у самого тебя вначале будет очень хуёвый код получаться, а изменяя чужой (будем считать хороший) ты многому учишься. И, главное, эффективно.
Можно идти и наоборот, впихнуть в себя весь синтаксис, семантику, стандартную библиотеку, прочитать талмуд. Но зачем?
@kagami Ну я бидона как не знал, так и не знаю, как писал говнокод, так и пишу. И нихуя так весь язык не узнаешь, можно всю жизнь писать без ООП, например, или лямбд-хуямбд.
@plhk Не знаешь потому что не пишешь. Прочитаешь талмуд — всё равно знать не будешь.
Весь язык сразу знать и не надо. А без ООП ты не сможешь писать, ибо в питоне всё объект, функции тоже. Если имеешь ввиду, что будешь писать в процедурном стиле, то для этого копипастинг чужого кода и нужен. Увидишь как люди делают — будешь также повторять. И не обязательно сразу понимать, почему это делается так, а не иначе.
Лямбды просто, чтобы были — не нужны. Это тебе не хаскиль, где друг перед другом надо выёбываться нагромождениями функций. Хороший pythonic код — это банальный for вместо лямбды с мап, т.к. читается гораздо проще.
@kagami Ага, и list comprehensions без нужды не стоит применять – если это не сильно удлинняет код, то лучше тот же обычный for использовать (но иногда удлинняет сильно, потому конструкция и существует).
Надо сказать, что генераторы и итераторы играют в языке важную роль, а не просто служат сахаром, как лямбды и list comprehensions.