Self 的作用: 代表调用方法的对象,这个参数是由解释器自动传递的 #调用对象有什么就能用什么 #第一个形参不一定要叫self,变量名而已可以叫任何名字。 #但因为方法的第一个形参接收的必定是调用方法的对象,所有习惯上都是使用self作为名字
魔法方法:在特定的时候能够自动运行 1.定义时候方法名两边都有两个下划线 2.方法名必须按照python指定的写,不能乱写
init()方法 #处理属性初始化、赋值 魔法方法 特点:能够自动运行 当创建对象之后自动执行 #只要在类里定义了方法,在恰当的时机就会自动执行 #方法在创建对象之后会自动执行 #一般用于初始化对象的属性 1.定义类 2.创建对象 3.执行__init__方法 4.赋值给对象名 #每次创建新对象都会执行__init__方法 #__init__初始化时 可以在self之后接收自定义的形参 #创建对象的小括号里,传递的实参,将由解释器自动传递给__init__方法 属性和全局变量的区别: 1.属性可以在各个对象间独立使用 互不干扰 2.全局变量可以在所有方法间公用,但程序只有一个,容易混乱 str()方法 : 当打印对象时,会自动调用对象的__str__方法 用来返回对象的描述信息 __str__方法必须有返回值,并且返回值必须是字符串 没写返回值 会给你个内存地址 del()方法: 程序结束后执行 当对象被销毁时,会自动执行__del__方法 对象的最后一个引用被删除,则对象将被销毁,此时自动执行__del__方法 __del__方法可以用来验证对象是否被销毁 __del__方法可以用于释放对象占用的资源 关闭文件
数据保护: Set get 保护数据
私有属性: 定义属性的时候,在属性名前加两个下划线,则这个属性是私有属性,只能在它的类内部使用。类的外面无法使用私有属性。#在类之外为私有属性赋值,实际上是添加了一个新的属性。