0

Python でインスタンス変数の名前を呼び出す方法があるかどうか知りたいですか? たとえば、クラスを定義すると

>>>class A(object):
...    def get_instance_name(self):
...        return # The name of the instance variable
>>>obj = A()
>>>obj.get_instance_name()
obj
>>>blah = A()
>>>blah.get_instance_name()
blah
4

3 に答える 3

3

例外を発生させます。エラーを通知する適切な方法であるだけでなく、デバッグにも役立ちます。トレースバックには、メソッド呼び出しを行った行だけでなく、変数名だけでなくデバッグに役立つ追加の行、行番号、関数名なども含まれます。例:

class A:
    def do(self, x):
        if x < 0:
            raise ValueError("Negative x")

def wrong(a, x):
   a.do(-x)

wrong(A(), 1)

例外がキャッチされない場合、これは次のようなトレースバックを返します。

Traceback (most recent call last):
  File "...", line 1, in <module>
    wrong(A(), 1)
  File "...", line 7, in wrong
    a.do(-x)
  File "...", line 4, in do
    raise ValueError("Negative x")
ValueError: Negative x

このモジュールを使用してtraceback、例外 (print_stackおよび友人) がなくても、プログラムでこの情報を取得することもできます。

于 2013-07-12T17:33:17.280 に答える