知识点:
1.1 在python中给对象设置属性,只需要在类的外部代码中直接通过 . 设置一个属性即可,但是不推荐使用,因为对象的属性应该封装在类的内部
如下面的代码即可
tom.name = "Tom"
这时候如果类内部没有 name 这个属性,则会给对象添加这个属性;若类内部有 name 这个属性,外部指定的新值”Tom“会替代这个属性原先赋的值
1.2 self变量 在类中代表什么:
如下面的代码即可
class Cat:
def eat(self):
print("小猫爱吃鱼")
tom = Cat()
tom.eat()
当代码执行到第四行,可以看到 tom 这个对象所属的类及其内存地址
当代码执行到第五行,可以看到 self 所代表的是哪个变量,其与上文 tom 是完全一样的
亦即在 tom 这个变量调用方法时, self 就是 tom 这个变量指向的对象,哪一个对象调用了方法,self 就是哪一个对象的引用,如以下代码:
class Cat:
def eat(self):
print("%s 爱吃鱼" %self.name)
tom = Cat()
tom.name = "Tom"
tom.eat()
self.name 即能引用 tom.name 所赋的值,因为调用 **eat()**方法时,self 即 tom
1.3 在对象的方法内部,可以通过 self. 访问对象的属性,也可以通过 **self. ** 调用其他的对象方法