【问题标题】:Python 2to3 warning <You should use 'operator.mul(None)' here.> What does it mean?Python 2to3 警告 <你应该在这里使用'operator.mul(None)'。> 这是什么意思?
【发布时间】:2017-04-25 15:19:05
【问题描述】:

我正在使用 2to3 转换脚本。我得到的唯一警告是:

RefactoringTool: Line 716: You should use 'operator.mul(None)' here.

原脚本第716行是:

classes = repeat(None)

我不知道应该在哪里使用operator.mul(None)repeat()link to docs)的参考文档显示我可以毫无问题地通过None。那么,我该怎么办?

【问题讨论】:

    标签: python repeat python-2to3


    【解决方案1】:

    2to3 只是对您的意思是哪个repeat 感到困惑。它认为你在 Python 2 中使用了operator.repeat

    Help on built-in function repeat in module operator:
    
    repeat(...)
        repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.
    

    而不是itertools.repeat。老实说,这并不是一个很好的猜测,因为operator.repeat 需要两个参数,但这就是它的猜测。你可以看到the docs中列出的转换。

    您可以使用完全限定的itertools.repeat 来避免警告,或者直接忽略它。

    【讨论】:

    • 是的!确实我正在使用 itertools.repeat()。现在很清楚了,谢谢!
    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多