我浅谈一下类的理解,算是弥补以前对同学们一个遗憾吧。基本概念如下:
今天咱们只讲解python中的构造函数、实例化、类变量,最近在热播《加油,你是最棒的》,那咱们就以这部剧的人物基本情况,创建这个类。
一、代码
class performer:
#teleplay是一个类变量,他存在的意义在于,当实例化多个对象时,可节省开销(类变量存放在类中即可,无需每个对象的内存中都存放该变量)
teleplay = “《加油,你是最棒的》”
"""
__inti__是构造函数
作用:在实例化时做类的初始化
"""
# self存在的原因:在开辟内存时,也给实例化的对象开辟了一个空间,所以在初始化、属性、方法必须带有self
def __init__(self,real_name,play_name):
#self存在的原因:在开辟内存时,也给实例化的对象开辟了一个空间,所以这里必须带有self
#下面的self.real_name中 real_name可以叫其他名字,但是调用时也应改为相应名字
self.real_name = real_name
self.play_name =play_name
def actor(self):
print("男主角%s的嘴特别欠,总有一种想抽他的冲动"%self.play_name)
def actress(self):
print("女主角%s总是笑嘻嘻的,很可爱,宁愿自己受委屈也看不得男主角受半点气"%self.play_name)
def antagonist(self):
print("%s 演技是非常棒"%self.real_name)
#下面是实例化,要想在程序中进行调用,必须先实例化。
实例化就相当于一个生命的诞生,拥有人类的一些基本属性和功能
另外拥有遗传父母的基因,即类似程序中的继承
后天发展还有自己的特点,自己新技能,这个类似程序中的私有属性和私有方法
多个兄弟姐妹长得各有不一样,类似程序中的多态
act0 = performer(“邓论”,“郝泽宇”)
act1 = performer(“马思纯”,“福子”)
二、变量及方法的调用
三、代码在内存中的存储
类是静态的概念,代码区;
对象是new出来,位于堆内存,类的每个成员变量在不同的对象(Act0、Act1)都有不同的值(郝泽宇、福子)–除静态变量。
方法只有一份,执行的时候才占用内存。
看到这个是否能够明白类变量节省开销的原因了吧。