Рубрики
Без рубрики

Работая вокруг затененных функций

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Недавно я столкнулся с проблемой, где приложение, которое называет Python, будет вставлять int в пространство имен Python, которое перезаписывает встроенный Python int функция. Поскольку я должен использовать инструмент, и мне нужно было использовать Python’s int Функция, мне нужен путь вокруг этого раздражения.

К счастью, это довольно легко исправить. Все, что вам нужно сделать, это импортировать int от __builtin__ и переименуйте это, чтобы вы не перезаписываете вставленную версию:

from __builtin__ import int as py_int

Это дает вам доступ к Python’s int Функция снова, хотя сейчас называется Py_int Отказ Вы можете назвать это, что вам нравится, если вы не нанимаете это int Отказ

Наиболее распространенные обстоятельства, когда одно тени в сочинениях или других переменных, заключается в том, когда разработчик импортирует все из пакета или модуля:

from something import *

Когда вы делаете импорт, как то выше, вы не всегда знаете, что все, что вы импортировали, и вы можете в конечном итоге написать свою собственную переменную или функцию, что тени, которые вы импортировали. Это главная причина, по которой импортирует все из пакета или модуля, так сильно не рекомендуется.

Во всяком случае, я надеюсь, что вы нашли этот маленький наконечник полезным. В Python 3 ядра разработчики добавили Встроенный модуль в основном для этой цели.