[ Исключая любой тестовый код, который просто издевается над встроенным ]
Учитывая, что многие встроенные функции были добавлены с течением времени, если есть несколько случаев, я бы принял ответ, показывающий модуль или некоторый код, который был создан после того, как этот встроенный существовал.
Мое обоснование для запроса заключается в том, что после публикации вопроса о списке рассылки python некоторые ответы показали, что есть члены сообщества Python, которые считают его вполне разумным использовать имена переменных, которые теневые встроенные, когда любое другое имя будет работать так же хорошо,
Я бы хотел использовать стандартную библиотеку в качестве показателя того, насколько распространена эта практика среди различных разработчиков Python.
Встроенный я чаще всего тень - это id
, так как он настолько полезен, как имя переменной, и встроенный так редко называют в любом случае. Быстрый просмотр в стандартной библиотеке 2.7 показал ряд применений:
aifc.py: if id == marker[0]:
aifc.py: id = _read_short(chunk)
aifc.py: if id == self._markers[i][0]:
aifc.py: if id == marker[0]:
difflib.py: id = ' id="%s%s"' % (self._prefix[side],linenum)
difflib.py: id = ''
nntplib.py: id = ''
nntplib.py: id = words[2]
nntplib.py: resp, nr, id = self.statparse(resp)
pdb.py: id = idstring[0].strip()
pdb.py: id = idstring[1].strip()
pdb.py: if id == '': return failed
platform.py: id = values[2]
platform.py: id = ''
platform.py: id = l[1]
platform.py: id = _id
Существует множество применений str
, list
и int
также:
Cookie.py: str = str[1:-1]
mailcap.py: str = os.environ['MAILCAPS']
mimetools.py: str = self.typeheader
mimetools.py: str = 'text/plain'
mimetools.py: str = str[:i]
mimetools.py: str = self.plisttext
mimetools.py: str = str[1:]
mimetools.py: str = str[end:]
rfc822.py: str = m.getheader(name)
rfc822.py: str = m.getrawheader(name)
smtplib.py: str = ""
smtplib.py: str = '%s%s' % (cmd, CRLF)
smtplib.py: str = '%s %s%s' % (cmd, args, CRLF)
sre_parse.py: pattern.str = str
xmllib.py: str = res.group(1)
xmllib.py: str = chr(int(str[2:], 16))
xmllib.py: str = chr(int(str[1:]))
xmllib.py: str = self.entitydefs[str]
xmllib.py: str = '&' + str + ';'
uuid.py: int = long(hex, 16)
uuid.py: int = long(('%02x'*16) % tuple(map(ord, bytes)), 16)
uuid.py: int = ((time_low << 96L) | (time_mid << 80L) |
SimpleHTTPServer.py: list = os.listdir(path)
StringIO.py:list = f.readlines()# list of f.readline() results until EOF
StringIO.py: list = f.readlines()
anydbm.py: list = d.keys() # return a list of all existing keys (slow!)
asynchat.py: self.list = deque()
asynchat.py: self.list = deque(list)
bdb.py: list = self.breaks[filename]
cgi.py: list = None
cgi.py: list = traceback.format_tb(tb, limit) + \
code.py: list = traceback.format_exception_only(type, value)
code.py: list = traceback.format_list(tblist)
dircache.py: cached_mtime, list = cache[path]
dircache.py: cached_mtime, list = -1, []
dircache.py: list = os.listdir(path)
mailbox.py: # list = map(long, filter(pat.match, os.listdir(self.dirname)))
mailbox.py: list = os.listdir(self.dirname)
mailbox.py: list = filter(pat.match, list)
mailbox.py: list = map(long, list)
mhlib.py:list = mh.listfolders() # names of top-level folders
mhlib.py:list = mh.listallfolders() # names of all folders, including subfolders
mhlib.py:list = mh.listsubfolders(name) # direct subfolders of given folder
mhlib.py:list = mh.listallsubfolders(name) # all subfolders of given folder
mhlib.py:list = f.listmessages() # list of messages in folder (as numbers)
mhlib.py:list = f.parsesequence(seq) # parse msgs syntax into list of messages
mhlib.py: list = []
mhlib.py: list = map(int, stuff.split())
multifile.py: list = []
nntplib.py: list = []
nntplib.py: resp, list = self.longcmd('LIST', file)
nntplib.py: resp, list = self.longcmd(line, file)
pickle.py: list = stack[-1]
pickle.py: list = stack[mark - 1]
pipes.py: list = []
poplib.py: list = []; octets = 0
pstats.py: width, list = self.get_print_list(amount)
pstats.py: width, list = self.get_print_list(amount)
pstats.py: width, list = self.get_print_list(amount)
rexec.py: list = []
rfc822.py: list = m.getaddrlist(name)
shelve.py: list = d.keys() # a list of all existing keys (slow!)
socket.py: list = []
telnetlib.py: list = list[:]
traceback.py: list = []
traceback.py: list = []
traceback.py: list = ['Traceback (most recent call last):\n']
traceback.py: list = list + format_tb(tb, limit)
traceback.py: list = []
traceback.py: list = list + format_exception_only(etype, value)
traceback.py: list = []
xdrlib.py: list = []
xdrlib.py: list = []
и есть слишком много file
и dir
используют, чтобы отправлять...
open
который достаточно хорошо затенен на уровне модуля и на уровне класса в webbrowser
, gzip
, imaplib
и т. Д.
id
как имя переменной;id
как имя переменной;len
как переменное имя;hex
как переменное имя;filter
как имя переменной;Поиск каталогов для встроенных имен между пробелами может помочь.
str
,list
т. Д. Внутри функций. Просто помни, что ты сделал.