Найти список всех переменных с двойным подчеркиванием? - PullRequest
20 голосов
/ 19 января 2012

Похожие: Каков общий формат заголовка файлов Python?

Где найти список всех переменных / ключевых слов с двойным подчеркиванием, которые обычно используются в Python?

В Python переменные, начинающиеся и заканчивающиеся двойным подчеркиванием, обычно предназначены для хранения метаданных или встроены в систему. Например,

#!/usr/bin/env python

__author__ = 'Michael0x2a'
__license__ = 'GPL'

class Test(object):
    def __init__(self):
        print 'Hello World!'

if __name__ == '__main__':
    t = Test()

Я почти уверен, что __author__ и __license__ довольно хорошо известны. Какие еще есть переменные метаданных с двойным подчеркиванием? Можно ли где-нибудь проверить исчерпывающий список? Могу ли я просто составить свой собственный документ или есть набор стандартов, которые стали стандартами де-факто, которые я должен использовать?

Такие вещи, как __init__, __name__ и __doc__ в значительной степени встроены в Python. Это только два зарезервированных ключевых слова с двойным подчеркиванием? Есть еще? Есть ли место, где я могу получить список?

[Изменить]
Я просматривал и столкнулся с другим вопросом , связанным с mindmap набора переменных с двойным подчеркиванием.

Ответы [ 3 ]

27 голосов
/ 19 января 2012

Если вы хотите увидеть магические имена, независимо от того, задокументированы они или нет, перейдите в каталог Lib и выполните:

12 голосов
/ 19 января 2012

Полный список используемых Python приведен в разделе Справочник по языку Python 3, «Модель данных» .Все остальные нестандартны или используются сторонними модулями и документируются отдельно.

1 голос
/ 19 апреля 2019

когда я использую

dir(object)

я получил это:


'__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__has
h__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__'
, '__setattr__', '__sizeof__', '__str__', '__subclasshook__'

, и я думаю, что это имена мухоморов, которые каждый объект будет иметь в python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...