Действительно, куча вот таких вот особенностей может остаться за бортом, если изучаешь Python после C, Java или подобных. Как чуть было не получилось у меня.
иногда очень помогает перечитать туториалы и whats new.
Я больше года делал вот так, когда нужно было пройтись по всех элементам списка с их нумерацией:
i=0
for x in some_list:
print i,x
i+=1
хотя можно было обойтись функцией enumerate, на которую я наткнулся в whats new какой то версии питона, в более старых учебниках соответственно этого не было
for i,x in enumerate(some_list):
print i,x
Здорово, но про «Кортеж — это не список, который нельзя редактировать» не согласен, т.к. в разделе показан пример, который будет работать и со списком, который также можно распаоквывать. Так что лично для меня, tuple по-прежнему остается списком, который нельзя редактировать.
Большое спасибо за статью. Недавно публиковал тут код на Питоне. Пришлось провести немало времени, выясняя, что есть pythonic, а что не очень. Такого рода статьи в тот момент я не нашел. А жаль — очень бы пригодилась.
Думаю такие публикации были бы полезны и по другим языкам, потому что осваивая что-то новое часто бывает очень не просто отказаться от привычек программирования на «родном» языке. А надо. 8)
Прочитал про парсинг csv файла и хочу сказать, что это просто охуительно!
Не зря я осваиваю Джангу. Питон — потрясающий язык. Позади — basic)), pascal, asp, perl, php, вот пришел к Питону. Дальше хочу за плюсы.
Хорошие советы, кроме «Скажите «нет» геттерам и сеттерам». Использование property может легко сделаеть код не проще и понятнее, а скорее наоборот, запутаннее и «магичнее».
Раздел «функции — это объекты» был бы отличной демонстрацией того, где в питоне стоит применять лямбда-функции:
Be Pythonic