プロが教える店舗&オフィスのセキュリティ対策術

pythonで以下のようなコードがありました。
returnでメソッド内のメソッドを返すのは、どういう意味があるのでしょうか?
仕組みが分かっていません。
よろしくおねがいします。

class OkWave(object):
@classmethod
def funcA(cls ,abc,def):
def funcB(self, xyz):
何かの処理P
return funcB

A 回答 (1件)

ここだと、スペースやタブが削除されてしまうので、Pythonの記述には致命的です。


全角スペース等でインデントが崩れないようにしましょう。

本題。
Pythonでは、関数もオブジェクトです。

f=Okwave.funcA(abc,def) # funcBの関数オブジェクトが返る
data=f(xyz) # → funcBを呼びだす

# return funcB(a)等と、関数funcBの戻り値を返すのが正解で、このプログラムは間違い、という可能性もありますが
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!