2015-12-16 16 views
9

Aus irgendeinem Grund habe ich diese Warnung in PyCharm bin zu sehen, scheint es seltsam.

Erwartet 'collections.Iterable' erwartet, 'Bereich [int]' statt

Diese Prüfung erkennt Fehler in Funktionsaufruf Ausdrücke eingeben. Aufgrund des dynamischen Versands und der Duck-Typisierung ist dies in einer begrenzten Anzahl von Fällen möglich. Typen von Funktionsparametern können in Docstrings oder in Python 3-Funktionsannotationen angegeben werden.

for _ in range(x): 

Für mich scheint buchstäblich die meisten idiomatische for loop Sie schreiben können.

enter image description here

+0

Ich kann nicht glauben, dass dies noch ein Jahr später ein Problem ist. – Roman

Antwort

9

Ihr Bericht gegeben, wird dies ein Fehler in PyCharm sein. Ein Bereichsobjekt ist ein iterable und ein Iterable. In 3.4.3:

>>> import collections 
>>> x = 3 
>>> isinstance(range(x), collections.Iterable) 
True 

Versuchen Sie, das Problem an PyCharm-Mitarbeiter zu melden.

+2

Es war schon da: https://youtrack.jetbrains.com/issue/PY-15038 scheint, als würde es eine spezifische Einrichtung von Mischdolmetschern erfordern. Vielen Dank. – jgritty