Python面向对象编程——属性和类关键字

admin 2026-01-11 01:21:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析Python面向对象中的class关键字与属性机制。class关键字负责创建类对象、执行类体并收集命名空间。属性分为类属性与实例属性,类属性存于类字典且实例共享,实例属性存于实例字典。掌握该底层机制对编写高质量代码至关重要。 综合评分: 82 文章分类: 安全开发,代码审计


cover_image

Python 面向对象编程——属性和类关键字

原创

Lino

网络技术联盟站

2026年1月9日 18:00 江苏

各位同学,大家好!我是你们的 Python 讲师 Lino。

在 Python 的面向对象体系里,class 不是语法糖,属性也不是随便挂的变量

如果你只把它们当成“能跑就行”,那么在规模稍微大一点的代码里,问题会迅速暴露。

这一节我们只做两件事:

  1. 把 class 这个关键字讲清楚
  2. 把“属性到底存在哪里、怎么查找”讲清楚

class 到底做了什么?

从解释器角度看,class 干了三件事:

  1. 创建一个新的类对象
  2. 执行类体代码
  3. 把类体中定义的名字,收集到类的命名空间

看一个最简单的例子:


class Demo:     x = 10

    def foo(self):         return self.x


你可以验证:


print(Demo) print(type(Demo)) print(Demo.dict.keys())


你会看到:

  • Demo 本身是一个对象
  • 类型是 type
  • x、foo 都存在于 Demo.__dict__

重要结论:

类本身也是对象,属性首先存放在类对象上。

属性的两大类:类属性 vs 实例属性

这是本节最核心的内容。

类属性


class User:     role = “guest”


role 存在于:


User.dict


所有实例默认共享它。


实例属性


class User:     def init(self, name):         self.name = name


name 存在于:


u = User(“alice”) u.dict



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络技术联盟站 Lino《Python 面向对象编程——属性和类关键字》

CAN总线基础知识 网络安全文章

CAN总线基础知识

文章总结: 文档详细阐述了汽车CAN总线的基础原理,涵盖物理层双绞线电压机制、显隐性位仲裁及终端电阻作用;解析了CAN数据帧的七个位场结构与位填充技术;并介绍了
评论:0   参与:  0