3

当我使用该函数时,我的 python 脚本中遇到了一个非常奇怪的问题all()

控制台给了我false(这显然是正确的)这条线:

all(x == 2 for x in (8,2,2,2))

在我的脚本中,同一行返回true?!

这里发生了什么?是否有其他all()功能可以在我的脚本中覆盖它?我正在导入以下模块:

import os
import sys
import string
import time
from time import gmtime, strftime
from optparse import OptionParser, OptionGroup
import cx_Oracle
from pylab import *
import ROOT
from array import array
import logging
from traceback import format_exc
4

1 回答 1

5

要在被粉碎时访问内置all(),您可以导入builtins. 例如:

from builtins import all

pylab(在导入的行下方)。

或者,如果您需要访问pylab.all(),您可以执行以下操作:

import builtins

...

builtins.all()

或者,更好的是,做import pylab而不是from pylab import *

您可能还想提交错误报告pylab,这是非常糟糕的行为。尽管请注意,import * from ...出于这个原因,不鼓励使用导入。

正如 DSM 在评论中指出的那样,这是假设您使用的是 3.x,在 2.x 下,它是__builtin__.

于 2012-10-20T12:07:49.667 回答