代码之家  ›  专栏  ›  技术社区  ›  user200783

Python—有没有办法从方法中访问它所附加的类?

  •  -2
  • user200783  · 技术社区  · 7 年前

    在Python中,如果我在类中定义了一个方法,我可以使用 __class__ :

    >>> class A:
    ...     def f(self):
    ...         print(__class__)
    ... 
    >>> class B(A):
    ...     pass
    ... 
    >>> B().f()
    <class '__main__.A'>
    

    __阶级__ 不可用:

    >>> class A:
    ...     pass
    ... 
    >>> def f(self):
    ...     print(__class__)
    ... 
    >>> A.f = f
    >>> class B(A): 
    ...     pass
    ... 
    >>> B().f()
    NameError: name '__class__' is not defined
    

    在第二个场景中,是否有从方法内部访问的方法 f ,班级 A 它附在哪一个?

    0 回复  |  直到 7 年前
        1
  •  1
  •   Ned Batchelder    7 年前

    从属性检索的值不记得它们来自何处。无法从类定义后附加的方法获取类。

    推荐文章