20201130_093.类属性_内存分析创建类和对象的底层

首页 » Python » 正文

类属性

类属性是从属于“类对象”的属性,也称为“类变量”。由于,类属性从属于类对象,可以被所有实例对象共享。

类属性的定义方式:

class 类名:
        类变量名= 初始值

【案例】 类属性的使用测试

class Student:
    school = 'YiZhong'  # 类属性
    count = 0           # 类属性

    def __init__(self, name, score):    # 实例属性
        self.name = name
        self.score = score
        Student.count += 1

    def say_score(self):    # 实例方法
        print('学校是:{}'.format(Student.school))
        print('{}的分数是:{}'.format(self.name, self.score))


s1 = Student('张三', 80)  # s1是实例对象,自动调用__new__()和__init__()方法
s1.say_score()
print('一共创建了{}个对象'.format(Student.count))

运行结果:
20201130_093.类属性_内存分析创建类和对象的底层

内存分析实例对象和类对象创建过程(重要)

以下面代码为例,用示意图分析整个创建过程,让大家对面向对象概念理解得更加深刻:

class Student:
    school = 'YiZhong'  # 类属性
    count = 0           # 类属性

    def __init__(self, name, score):    # 实例属性
        self.name = name
        self.score = score
        Student.count += 1

    def say_score(self):    # 实例方法
        print('学校是:{}'.format(Student.school))
        print('{}的分数是:{}'.format(self.name, self.score))


s1 = Student('张三', 80)  # s1是实例对象,自动调用__new__()和__init__()方法
s1.say_score()
print('一共创建了{}个对象'.format(Student.count))

内存示意图:
20201130_093.类属性_内存分析创建类和对象的底层

未经允许不得转载:作者:1324-易同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《20201130_093.类属性_内存分析创建类和对象的底层》 发布于2020-12-01

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录