-2
は、Python 3.6.2と はPython 3: "NameError:名前 '関数' が定義されていません"
def foo(bar: function):
bar()
foo(lambda: print("Greetings from lambda."))
を実行すると、期待通りに型注釈が機能削除、しかし
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined
得られます。
さらに、PyCharmは、の警告bar()
を警告します。
編集:ピータースの答えの私のコメントで述べたように、この質問を上げ、<class 'function'>
def myfunction():
pass
print(myfunction.__class__)
出力ため。
'print(myfunction .__ class __) 'を介して関数クラスをチェックすると' 'が生成されるので、私はそれが有効であることを期待していました。 –
qwertz
@qwertz:確かに、型を参照するグローバル関数 'function'があるわけではありません。 –