我浅谈一下类的理解,算是弥补以前对同学们一个遗憾吧。基本概念如下:

python中类无法使用 python类中类_类变量


今天咱们只讲解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(“马思纯”,“福子”)

二、变量及方法的调用

python中类无法使用 python类中类_类变量_02


三、代码在内存中的存储

类是静态的概念,代码区;

对象是new出来,位于堆内存,类的每个成员变量在不同的对象(Act0、Act1)都有不同的值(郝泽宇、福子)–除静态变量。

方法只有一份,执行的时候才占用内存。

python中类无法使用 python类中类_python中类无法使用_03


看到这个是否能够明白类变量节省开销的原因了吧。