从另一个类访问类变量

vivi11130704

我有一个简单的 A 类,它从用户那里获取名称。

class A:
   def __init__(self, name = ''):
       self.name = name

然后我想创建一个打印出这个名字的 B 类。我试过了:

class B:
    def print_name(printing_name = A.name):
        print(printing_name)

然后我调用这些方法:

m1 = A("x")
B.print_name(m1)

这将返回错误

Traceback (most recent call last):
  File "so.py", line 5, in <module>
    class B:
  File "so.py", line 7, in B
    def print_name(printing_name = A.name):
AttributeError: class A has no attribute 'name'

我知道我没有在类 A 中分配类变量,因此 name 属性与特定实例相关,而不是整个类。但是,名称属性必须与每个特定实例相关联,因为它会因情况而异。那么我应该如何在B类中获得这个名字?

菲利普·邹

将您的更改class B为:

class B:

    @staticmethod
    def print_name(obj):
        print(obj.name)

print_name方法可能应该被装饰为“静态方法”属性“ name” ofself是一个实例属性,不能直接从类本身引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个类访问类变量

来自分类Dev

访问另一个类的类方法/变量

来自分类Dev

从另一个类访问类变量

来自分类Dev

从另一个类访问静态变量

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

在JAVA中访问另一个类变量

来自分类Dev

如何从另一个类访问对象变量?

来自分类Dev

无法从另一个类访问变量

来自分类Dev

从另一个类Android Studio访问变量

来自分类Dev

从另一个类Swift访问变量

来自分类Dev

从另一个类访问静态变量

来自分类Dev

从另一个类访问模板的变量

来自分类Dev

从另一个类访问Companion Class变量

来自分类Dev

快速访问另一个类中的变量

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

从另一个类访问变量的实例

来自分类Dev

Java变量无法从一个类访问另一个类

来自分类Dev

从另一个类访问一个类中的变量

来自分类Dev

在Python中从一个类到另一个类访问变量

来自分类Dev

从另一个类访问一个类的成员变量

来自分类Dev

声明一个变量-从另一个类访问它?

来自分类Dev

从一个类文件访问另一个文件中的变量

来自分类Dev

将程序拆分为多个类,并从另一个类访问变量

来自分类Dev

从方法访问父类变量,由另一个类使用

来自分类Dev

如何直接从另一个类访问变量(即不使用类名或对象)?

来自分类Dev

快速访问另一个类的类类型变量

来自分类Dev

访问另一个类的类级别属性?

来自分类Dev

C ++从另一个类访问类成员

来自分类Dev

从另一个脚本访问类中的类?