TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #181 · 13 ное.

Почему рекомендуют каждый импорт делать на новой строке? Просто так написано в PEP8, скажете вы. Да, это действительно так. Но PEP8 это стилистические рекомендации. Какая практическая польза от такой записи? Несколько раз мои студенты спрашивали зачем писать длинней когда можно короче? Не это ли один из основных принципов в Python? Как мы хотим писать: import os, sys, subprocess Как рекомендуют import os import sys import subprocess Если "нельзя" писать в одну строку, то зачем добавили такую возможность - перечислять имена импорта? Объясняю в два этапа: 🔸Перечисление добавлено для возможности импорта через from, когда из модуля требуется импортнуть несколько имён from os.path import join, expanduser, sep В PEP328 добавили возможность перечисление вставлять в скобки чтобы переносить на новую строку без экранирования символа новой строки Было from os.path import join, expanduser, \ sep, basename, exists Стало from os.path import (join, expanduser, sep, basename, exists) 🔸 Практическая польза от импортов на разных строках заметна когда вы делаете слияние разных веток кода с конфликтами или просто с изменениями. Допустим, есть два варианта кода # file1.py import fnmatch import time import json import uuid #file2.py import fnmatch, time, json, uuid Зачем-то нам потребовалось изменить импорт, вместо uuid импортим sys. Что покажет нам diff? # file1.py -import uuid +import sys # file2.py -import fnmatch, time, json, uuid +import fnmatch, time, json, sys Заметили разницу? Пусть даже для GIT это совершенно не проблема, кодревью будет происходить удобней с точки зрения человека. Да, это объяснение человека, который сам делает кодревью (и регулярно сам же нарушает эту рекомендацию, о чем потом жалеет😭) Есть ли у вас еще доводы в пользу каждого импорта на новой строке? #tricks#pep

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #tricks

当前筛选 #tricks清除筛选
sudo recast

@sudo_recast · Post #918 · 17.04.2025 г., 09:47

A useful command when you encounter conflicts while cherry-picking: tig HEAD $(git rev-parse CHERRY_PICK_HEAD 2>/dev/null) -- $(git diff --name-only --diff-filter=U | head -1) #tricks@sudo_recast

Hashtags