Pythonで記述している既存のコードから各関数または変数の呼び出し時間を取得したい。呼び出される関数または変数の回数を計算する
acc = {}
class object(object):
def __getattribute__(self, p):
acc.update({str(self) + p: acc.get(str(self) + p, 0) + 1})
return supe(object, self).__getattribute__(p)
class A(object):
def a(self):
pass
class B(A):
def b(self):
pass
def main():
a = A()
a.a()
b = B()
b.b()
b.a = 'a'
b.a
print acc
if __name__ == '__main__':
main()
をしかし、それは唯一のオブジェクト内の関数や変数を計算することができ、私は通常の関数や変数を計算することができますどのように、など:私は考えて何
は、以下のように、オブジェクトののgetAttribute関数をオーバーライドしています次のようになります。
def fun1():
pass
fun1()
fun1()
結果を2にしたいのですが、ツールや方法はありますか?
申し訳ありませんが私のプールの英語、私が本当に必要なのは、実行時ではなく呼び出された時間です。上記のような 、私たちは言った、fun1()は2回呼び出されます。
'クラスオブジェクト(オブジェクト)' - 本当に? –
うん、私はそう思います、私の愚かな方法を忘れてください – flreey
どのように変数呼び出しを数えますか? – Marii