2017-11-14 12 views
-6

これは、コードブロックの開始と終了に必要な中括弧があるため、Javaでかなり簡単なので、探したいプログラムを書くことができます中括弧は各機能にラベルを付けます。Pythonの各関数のコード行数を調べようとしています

私がPythonで抱えている問題は、関数が終了したときに私に知らせる何らかのマーカーを見つけることです。私は1つの解決策が各行の '\ t'を検出するためのいくつかのスキームを理解することであろうと推測しています。ファンクションブロックの開始点を決定する方法は何ですか。

+2

を検査活用することができるかもしれませんあなた自身の質問で答える...だから、なぜ尋ねるのですか? – Julien

+0

Pythonのソースコードの行数を調べるか、関数の行数_deuring runtime_を取得することを尋ねていますか?つまり、def linecount(function):return line_count_of_function'ですか? –

答えて

0

ブランクがタブより一般に好まれ、混合は間違いなく許容できません。関係なく、関数を他の関数やクラスの内部で定義することもできるので、qが少し微妙になるかもしれません。

(REPLに空白行がデフを終了する一方、ところで、それは一般的にはそうではないのです。)

はあなたがすでに与えるモジュールに

In [1]: import inspect 

In [2]: def h(): 
    ...:  a =9 
    ...:  b =8 
    ...:  return a+b 
    ...: 

In [3]: inspect.getsourcelines(h) 
Out[3]: ([u'def h():\n', u' a =9 \n', u' b =8\n', u' return a+b\n'], 1) 

In [4]: inspect.getsourcelines(h)[0] 
Out[4]: [u'def h():\n', u' a =9\n', u' b =8\n', u' return a+b\n'] 

In [4]: len(inspect.getsourcelines(h)[0]) 
Out[4]: 4 
関連する問題