类中的方法:动作,公共的特征,共同的方法
普通方法
格式
def 方法名(self[,参数,参数] ):
pass
#所有类名要求首字母大写,多个单词使用驼峰式命名 类当作一个模子
'''格式:
class 类名[(父类)]:
属性:特征
方法:动作
'''
class Phone:
brand='华为'
price="4999"
type='mate 80'
#phone 里面的方法:call
def call(self):#调用对象本身
print(self)
print("正在打电话")
phone1=Phone()
print(phone1)
phone2=Phone()
phone1.call()
类方法
类方法在定义的普通方法加一个装饰器,就成为了类方法,
普通方法只有对象就能调用,类方法不需要对象就能调用
特点:
定义需要装饰器
类方法的参数不是对象,而是类
类方法中只能使用类属性
通过类名调用 类名。方法名字()
类方法不能使用普通方法
类方法可以使用类属性
作用:
使用类方法做一些还没有建立对象之前的动作
(在前面加一个__就能变成私有的)
静态方法
加装饰器,但是没有参数,就是静态方法,
1,需要装饰器
2,无需传递参数
3,只能访问类的属性和方法,对象无法访问
4,加载时机同类方法
不同
1,类方法有参数,静态方法没有参数
2,类方法有参,静态方法没有参数
相同
1,只有访问类的属性和方法,对象
魔术方法
只要写就自动触发。
- –名字–()称为魔术方法
- –init–(self)初始化
- 只要创建对象,系统默认会执行
- 照着传,参数就会传init()中
- –init–:初始化魔术方法
- 触发时机:初始化对象的(不是实例化触发,但是和实例化触发一个操作。)
- –new–():实例化触发,在实例化对时触发,表示申请内存开辟空间。
- 开辟空间,要返回
. --new–()先于 --init–() - –call–() 表示对象调用 调用时机:将对象当作函数的调用时触发
参数:只扫有一个self接收对象,其余的根据调用时候的参数决定。
–del–() 析构魔术方法 删除引用的时候会调用。
对象赋值:相当于给对象赋值内存首地址。对象赋值表示对象指向同一个地址。
2,删除地址的应用
del 对象 删除对象的地址的引用
3,查看对地址的引用次数:
import sys
sys.getrefcount§
4,del 当空间没有引用次数,就会默认执行–del–()
- –str–()
单纯的打印对象名的话只能答应首地址,想要打印对象名的时候打印更多的东西的话。
1,触发时机:打印对象名,主动调用触发
2,在该方法中加的返回值就是函数触发的返回值。