一、前言
Python 是一门完全面向对象的语言,一切皆对象。class关键字用于定义类,object是所有类的顶层基类。面向对象三大核心特性:封装、继承、多态,同时包含魔术方法、三类方法、单例模式、反射、MRO 继承顺序、property 装饰器等高频面试知识点,本文结合代码案例完整拆解。
二、基础概念:类、实例、属性与封装
1. 基础定义规则
- 类命名:大驼峰命名法(如
UserInfo) __init__:构造魔术方法,实例化时自动执行,用于初始化实例属性self:代表当前实例对象,实例方法第一个固定参数- 类属性:定义在类内部、
self外部,所有实例共享 - 实例属性:
self.xxx,仅属于单个实例 - 私有变量:双下划线
__xxx,底层触发名称改写,无法直接外部访问 - 动态操作属性:
setattr()/getattr()/hasattr()反射 API;type()查看对象类型
2. 基础代码案例
class Student: # 类属性(所有实例共享) school = "阳光中学"