Найти тему
Машинное обучение

Python. Грамотно ставим запятые

Допустим, у нас в коде есть список: 

>>> capitals = ['Beijing', 'New Delhi']

Добавим в него ещё город и сделаем diff двух файлов перед коммитом. 

>>> capitals = ['Beijing', 'New Delhi', 'Mexico City']

Инструмент подсветит строчку и будет сложнее понять, какой именно элемент добавили, особенно если список длинный. Поэтому лучше писать: 

>>> capitals = [

  'Beijing', 

  'New Delhi' 

  'Mexico City'

]

Так на diff'е будет видно, какой именно элемент появился, и делать ревью тоже будет проще. Кстати, вы заметили, что я забыла запятую? Это частая ошибка, и довольно неприятная, потому что при этом не только не будет брошено исключение, но и объединятся две последние строки: 

>>> capitals

['Beijing', 'New DelhiMexico City']

Упс😕. Строки, не разделенные запятой, в Python конкатенируются. Это удобно для того, чтобы размещать в коде длинные тексты без переноса строки: 

>>> why_so = ('Это очень очень '

  'очень длинная строка или ' 

  'документ на вашем сайте.')

>>> why_so

'Это очень очень очень длинная строка или документ на вашем сайте.'

Но иногда это играет с разработчиками злую шутку. Поэтому, чтобы не забывать добавлять запятую в предпоследнем элементе, хорошей практикой считается всегда ставить запятую в конце коллекции:

>>> capitals = [

  'Beijing', 

  'New Delhi',

  'Mexico City',

]

Она не повлияет на выполнение программы, зато уменьшит вероятность ошибки программиста. При этом diff будет читаться лучше, потому что утилита подсветит только новую строку. 

Плюсы запятой в конце коллекции: 

🤖один и тот же формат всех строк

🤓меньше ошибок по невнимательности

🐙удобно ставит#контейнеры #синтаксис #основыГрамотно #основы

Python RU

Наука
7 млн интересуются