使用python中的类的属性而不创建对象

时间:2017-07-09 20:52:28

标签: python class import attributes

我想知道是否可以在不创建该类的对象的情况下使用其他文件中的类的属性,例如,如果我在File_A中有Class_A并且我将Class_A导入File_B,我必须使用Class_A作为File_B中的一个对象,以便访问其属性?

2 个答案:

答案 0 :(得分:4)

最简单的方法:

In [12]: class MyClass(object):
...:         attr = 'attr value'

In [15]: MyClass.attr
Out[15]: 'attr value'

您也可以使用__dict__属性:

  

__ dict__是包含类名称空间的字典。

In [15]: MyClass.__dict__.get('attr', None)
Out[15]: 'attr value'

如果您需要使用方法,请使用staticmethod decorator:

In [12]: class MyClass(object):
...:         @staticmethod
...:         def the_static_method(x):
...:             print(x)


In [15]: MyClass.the_static_method(2)
Out[15]: 2

答案 1 :(得分:0)

没有理由在其他对象中创建新对象以利用另一个对象的属性和方法。

您只想在File_B中创建Class_A的实例以使用它的属性和方法。

例如:

import Class_A

#instance of Class_A
classA = Class_A('params')

#property1 is a property in classA
classA.property1

#doSomething is a method in classA
classA.doSomething()

在此处阅读有关OOP的更多信息 http://www.python-course.eu/object_oriented_programming.php