Ich habe eine Frage zu meinem Python (3.6) Code oder PyCharm IDE auf MacBookErwartete Typ '{__name__}' erwartet, '() -> Keine' statt
Ich schrieb eine Funktion "timeit" zu testen Zeit durch andere Funktion
def timeit_func(func_name, num_of_round=1):
print("start" + func_name.__name__ + "()")
str_setup = "from __main__ import " + func_name.__name__
print('%s() spent %f s' % (func_name.__name__,
timeit.timeit(func_name.__name__ + "()",
setup=str_setup,
number=num_of_round)))
print(func_name.__name__ + "() finish")
Parameter „func_name“ ausgegeben wird, nur eine Funktion müssen getestet werden und ist bereits definiert. und nenne ich diese Funktion mit dem Code
if __name__ == "__main__":
timeit_func(func_name=another_function)
die Funktion gut funktioniert, aber PyCharm zeigt die Informationen mit diesem Code "func_name = another_function":
Expected type '{__name__}', got '() -> None' instead less... (⌃F1 ⌥T)
This inspection detects type errors in function call expressions. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Types of function parameters can be specified in docstrings or in Python 3 function annotations
Ich habe gegoogelt „Expected Typ '{Name}', bekam '() -> None "aber nichts nützliches bekommen. Ich bin neu auf Python. Ich möchte fragen, was es bedeutet? Und wie kann ich diese Informationen verschwinden lassen? Denn jetzt ist es hervorgehoben und ich fühle mich unwohl.
ich es in Python3.6 von import time
verwenden, das ist, was ich in der doc von timeit Modul() (timeit.timeit()
)
def timeit(stmt="pass", setup="pass", timer=default_timer, number=default_number, globals=None):
"""Convenience function to create Timer object and call timeit method."""
return Timer(stmt, setup, timer, globals).timeit(number)
Was ist 'timeeit.timeit()' Funktion ..? –
Es ist ein bekanntes [Problem] (https://youtrack.jetbrains.com/issue/PY-21408), dass Funktionen nicht mit '{__name __}' Typ übereinstimmen. – user2235698