4559
あるクラスのメンバ関数内から、そのクラス名を取得することは可能でしょうか。  
教えていただきたいのはPython 3での方法ですが、一応Python 2での方法も教えていただけると幸いです。

## 例

```

    class Foo:
        def __init__(self):
            pass
    
```

という風なクラスがあった時に、`Foo`を取得するといったものです。
CC BY-SA 3.0
2015-01-14T12:43:29.263
4556
2015-01-14T13:27:53.257
197
question
python
メンバ関数からクラスの名前を取得する方法
[こちら](https://hidelafoglia.wordpress.com/2008/12/09/python%E3%82%AF%E3%83%A9%E3%82%B9%E5%90%8D%E3%81%AE%E5%8F%96%E5%BE%97-__class__-
__name__/)に載っていました。

```

    class Foo(object):
    def __init__(self):
        print(self.__class__.__name__) # >>> Foo
    
    a = Foo()
    print(a.__class__.__name__) # >>> Foo
    
```

Pythonのバージョンは2.7でも3.4でも動きました。
CC BY-SA 3.0
2015-01-14T13:21:20.513
4558
2015-01-14T13:21:20.513
3589
4556
answer
原始的な感じですが、 `__class__.__name__` が使えます。。

```

    class Foo:
        def whoAmI(self):
            print( "I am " + self.__class__.__name__)
    
    Foo().whoAmI()
    
```
CC BY-SA 3.0
2015-01-14T13:21:39.863
4559
2015-01-14T13:27:53.257
2015-01-14T13:27:53.257
4978
4978
4556
answer