在 codecademy 学习 Python 时遇到的问题,创建了两个类Employee
和CEO
:
class Employee(object): def __init__(self, name): self.name = name def greet(self, other): print "Hello, %s" % other.name class CEO(Employee): def greet(self, other): print "Get back to work, %s!" % other.name ceo = CEO("Emily") emp = Employee("Steve") emp.greet(ceo) # Hello, Emily ceo.greet(emp) # Get back to work, Steve!
这里为什么会有other.name
这种用法,是什么意思?
self.name = name
理解为当前对象的成员变量name
赋值为name
,是不是说self
就是实例,name
就是它的一个属性?
那么other.name
是什么意思呢?
啊? 很简单啊。1.就是other这个参数里面有个name属性(成员变量)。 2.self指向类实例化的对象自己。
other是一个实例对象参数,这个实例对象有name这个属性,如果你传入的对象不是CEO或者Employee的实例的话,那么会报出异常AttributeError。