Pull to refresh

Comments 57

Перечитал 3 раза, захватывающее чтиво.
UFO just landed and posted this here
UFO just landed and posted this here
Даешь синусоиду в комментариях :)
UFO just landed and posted this here
Ээээ… За что заминусовали человека?
UFO just landed and posted this here
Эхх, как мне не хватало подобной статьи когда я начинал знакомиться с Питоном.
Однозначно продолжать!
Действительно, куча вот таких вот особенностей может остаться за бортом, если изучаешь Python после C, Java или подобных. Как чуть было не получилось у меня.

Обязательно продолжайте.
Я конечно извиняюсь, но вся эта информация содержится в официальном tutorial. Или вы начинали знакомиться с питоном в обход официальной документации?
иногда очень помогает перечитать туториалы и 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
Когда у меня возникла такая же задача, я первым делом погуглил, потому что был уверен, что в таком красивом языке должен быть красивый способ.
я когда сам написал, потому что не знал, что есть готовое
def enumerate(some_list):
  return zip(range(len(some_list), some_list)
UFO just landed and posted this here
К счастью, это можно понять из следующего предложения. А заголовок призывает не смешивать понятия кортежа и списка.
UFO just landed and posted this here
Здесь есть тонкость. Кортеж — это список (в полном смысле этого русского слова), но не list (понимаемый как тип данных).
Кстати, что значит «неизменяемый» применительно к кортежу — тоже не все понимают. И уверены, что код

x = 1,2,3
x += 4,5

работать не будет.

Ну и могут вообще не понять, что тут с кортежами идет работа, особенно если помнят «операцию запятая» в Си и применяют свои знания в питоне.
очень интересно, хотелось бы еще примеры для переходящих с Пых-Пыха
ножно купить книжку, говорят, чтение помогает получить новые знания, не дожидаясь «еще примеров» ;)
Здорово, но про «Кортеж — это не список, который нельзя редактировать» не согласен, т.к. в разделе показан пример, который будет работать и со списком, который также можно распаоквывать. Так что лично для меня, tuple по-прежнему остается списком, который нельзя редактировать.

Если я чего-то не знаю, расскажите, пожалуйста.
Упс, это я поторопился. Да, пример верный.
Хм, а я ничего нового не прочел. Видимо я не так плохо знаю Python. Спасибо за поднятие ЧСВ=)
«Этот пример сортирует список словарей по значению, соответствующему ключу 'key'»
Видимо, должно быть: «соответствующему ключу 'price'»
UFO just landed and posted this here
UFO just landed and posted this here
Да. После питона на php писать становится грустно.
После питона писать надо на питоне, а не на php
Для себя я теперь на php не пишу. Для заказчиков, увы, приходится.
кстати в питоне и JS есть очень много общего… на первый взгяд не так заметно, но изнутри очень родные
Ну, Python на Javascript довольно-таки похож. Я за месяц примерно освоился, даже меньше
UFO just landed and posted this here
Большое спасибо за статью. Недавно публиковал тут код на Питоне. Пришлось провести немало времени, выясняя, что есть pythonic, а что не очень. Такого рода статьи в тот момент я не нашел. А жаль — очень бы пригодилась.

Думаю такие публикации были бы полезны и по другим языкам, потому что осваивая что-то новое часто бывает очень не просто отказаться от привычек программирования на «родном» языке. А надо. 8)
Прочитал про парсинг csv файла и хочу сказать, что это просто охуительно!
Не зря я осваиваю Джангу. Питон — потрясающий язык. Позади — basic)), pascal, asp, perl, php, вот пришел к Питону. Дальше хочу за плюсы.

Питон, я иду! :)
Не пугайте его так, он хороший.
Хорошие советы, кроме «Скажите «нет» геттерам и сеттерам». Использование property может легко сделаеть код не проще и понятнее, а скорее наоборот, запутаннее и «магичнее».

Раздел «функции — это объекты» был бы отличной демонстрацией того, где в питоне стоит применять лямбда-функции:

L.sort(key=lambda item: item['price'])

а, ну и название переменной L не по pep-8 :)
Про выполнение кучи всего в одной строке — не самый удачный пример у изначального автора.

Такие строки не сходу понимаешь и вероятность багов в них растёт, как комменты «Спасибо, понравилось!» в вверху.

Т.е. концепция вроде правильная, но пример для культуры писания не удачен. Писать надо понятно, ибо мы большую часть времени код читаем.
С моей точки зрения, если знать эти приемы, то читаемость повысится. Это же строки не в 400 символов длиной
Дык не все же мы знаем — есть старшие программеры, а есть просто программеры.

А код д.б. понимаем всеми как минимум, пусть даже талант к его созданию есть тока у страших товарищей.

Т.е. я лично болею за читаемость. Либо такие заносы в отдельные функции/методы выкидывать.
Главное так и не было сказано — для цикла for есть конструкция:

for i, item in enumerate(mylist):
    pass
Sign up to leave a comment.

Articles