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

Резултати

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

Глобално пребарување

Futplanet

@Fut_planet · Post #11495 · 27.05.2024 г., 19:00

Pep Guardiola dejará el cargo de entrenador del Manchester City el próximo verano. 📱 Jack Gaughan. @Fut_planet⚜️#Pep👔#City🏴󠁧󠁢󠁥󠁮󠁧󠁿

Hashtags

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

AIGC

@aigcrubbish · Post #242 · 09.03.2026 г., 14:45

[$] Inspecting and modifying Python types during type checking Python 的静态类型系统有其独特之处:类型注解在运行时是可访问的,但默认不会被求值,其含义由外部类型检查器赋予。这些注解通常使用内置 `typing` 模块中的辅助工具,主流类型检查器对其含义有基本共识。然而,现有的类型系统在描述真实 Python 程序中常见的动态元编程模式时,能力仍显不足。PEP 827("类型操作")旨在为 Python 的类型系统增加新能力,以解决此问题,但社区对该提案的讨论意见不一。 原文链接:https://lwn.net/Articles/1061083/ #Python#类型系统#PEP#编程语言设计 #AIGC Read more