如果我在一个脚本中写两个具有相同名称的类,该怎么办?

时间:2014-02-27 07:05:40

标签: python python-2.7

我是Python新手。我有一个疑问“如果我在一个脚本中编写两个具有相同名称的类”,但具有不同的功能。当我们运行这个脚本时,将创建哪个类对象?

2 个答案:

答案 0 :(得分:2)

它将创建最后定义的类的实例:

class A:
    def f(self):
        return "a"

class A:
    def g(self):
        return "b"

a = A()

print a.f() # AttributeError
print a.g() # 'b'

答案 1 :(得分:1)

第二个类将覆盖对第一个类的引用。

>>> class A(object):
...     def __str__(self):
...         return 'A1'
...
>>> print A()
A1
>>>
>>> class A(object):
...     def __str__(self):
...         return 'A2'
...
>>> print A()
A2
>>> print A()
A2