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

TGINSIGHT SIMILAR POSTS

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

Изворен канал @pythonotes · Post #77 · 29 апр.

Каждый модуль в Python имеет атрибут ˍˍnameˍˍ. В него записывается строка, содержащая полное имя модуля. Например: >>> from my_package import my_module >>> print(my_module.__name__) 'my_package.my_module' Очень удобно для логгинга когда в имя логгера требуется записать имя модуля, в котором происходят события лога. Но однажды мне потребовалось создать логгер не для модуля в целом, а для отдельной функции. Что в этом случае можно сделать? Такой объект как функция тоже имеет атрибут ˍˍnameˍˍ >>> class MyClass: >>> def func(self): >>> pass >>> print(MyClass.func.__name__) 'func' Итого нам следует собрать полное имя таким образом: >>> full_name = '.'.join([__name__, MyClass.__name__, MyClass.func.__name__]) >>> print(full_name) 'my_package.my_module.MyClass.func' А что если класс вложен в другой класс? >>> class MyClass: >>> class SubClass: >>> def func(self): >>> pass >>> full_name = '.'.join([__name__, MyClass.__name__, MyClass.SubClass.__name__, MyClass.SubClass.func.__name__]) >>> print(full_name) 'my_package.my_module.MyClass.SubClass.func' А что если вложений несколько? >>> class MyClass: >>> class SubClass1: >>> class SubClass2: >>> def func(self): >>> pass Даже не буду писать пример получения имени 😭. А что если функция не из этого класса а унаследована и вы работаете с внешней библиотекой? >>> from somewhere.something import OtherClass >>> class MyClass2(OtherClass): >>> pass Cтрашно подумать как нам достать настоящее "полное имя" функции! А если там динамическое определение наследования или метаклассы? Вообще можно забить на решение и придумать другой способ 😵 На помощь приходит PEP3155 и его имплементация "Qualified name". Всё очень просто, начиная с Python 3.3 классы и функции имеют атрибут ˍˍqualnameˍˍ, который и содержит полное или "честное" или "квалифицированное" имя объекта. Именно в него уже записан готовый полный адрес объекта. И теперь даже такая конструкция сработает правильно: >>> # some_module.py >>> >>> class OtherClass: >>> class SubClass1: >>> class SubClass2: >>> def func(self): >>> pass >>> >>> # my_module.py >>> from some_module import OtherClass >>> class FinalClass(OtherClass.SubClass1.SubClass2): >>> pass >>> >>> full_name = '.'.join([__name__, FinalClass.func.__qualname__]) 'my_package.my_module.OtherClass.SubClass1.SubClass2.func' Тут стоит заметить, что если функция находится не в текущем модуле а откуда-то импортирована (как в моём примере) то собирать имя с локальным атрибутом ˍˍnameˍˍ уже не имеет особого смысла. Тогда лучше использовать имя модуля исходного класса: >>> full_name = '.'.join([FinalClass.__module__, FinalClass.func.__qualname__]) 'some_module.OtherClass.SubClass1.SubClass2.func' #pep

Hashtags

Резултати

Пронајдени 2,009 слични објави

Пребарај: #ton

当前筛选 #ton清除筛选
Coin Sonar

@CoinSonar · Post #244179 · 18.04.2026 г., 12:37

#TON | Volume spike (USDT PAIR) 60 times the average volume 232.87K USDT traded in 1 min └Selling vol: 137.05K USDT 🔴 Boost score: 1/10 24h Vol: 5.51M USDT (Binance) Price: 1.369 (-1.7% in 24h)

Hashtags

Coin Sonar

@CoinSonar · Post #243423 · 17.04.2026 г., 02:50

#TON | Volume spike (USDT PAIR) 58 times the average volume 222.20K USDT traded in 1 min └Buying vol: 202.80K USDT 🟢 Boost score: 6/10 24h Vol: 5.51M USDT (Binance) Price: 1.420 (-1.7% in 24h)

Hashtags

CryptoBull_360™

@cryptobull_360 · Post #49663 · 04.05.2026 г., 15:01

🥳👀#TON Pavel Durov: Commissions in TON decreased by 6 times - almost to zero. The next step is for Telegram to replace the TON Foundation as the driving force behind TON and become its largest validator.

Hashtags

CryptoBull_360™

@cryptobull_360 · Post #49516 · 27.04.2026 г., 15:28

#TON is consolidating within a symmetrical triangle pattern and is currently holding above the support trendline. The Ichimoku Cloud is acting as a resistance barrier, keeping upside momentum in check. A decisive breakout or breakdown from the triangle is needed to confirm the next directional move, so patience is key here.

Hashtags

Crypto Headlines

@market_headlines · Post #28648 · 23.04.2026 г., 17:18

#ton 💎Павел Дуров: Через неделю комиссии в TON снизятся в 6 раз – до всего лишь 0,00039 TON (~$0,0005) за транзакцию, фиксированные независимо от нагрузки на сеть. Вскоре после этого большинство транзакций будут с нулевыми комиссиями. Ранее: - ускорение сети - MTONGA Crypto Headlines

Hashtags

Crypto Headlines

@market_headlines · Post #28631 · 23.04.2026 г., 07:01

#ton 🎵 Павел Дуров опубликовал AI-трек про VPN– слушать «Там, где резали вход, Мы нашли свой обход, У подъезда у нас говорят про VPN. Малый, бабка, сосед – Все теперь не боятся, Если режут им свет, Значит, будем пробиваться». Ранее: повестка Crypto Headlines

Hashtags

123•••100•••167168
ПретходнаСтраница 1 од 168Следна