当前位置: 首页 > backend >正文

Python核心技巧 类与实例:面向对象编程的基石

、核心概念图解

🎯 类 vs 实例

:对象的蓝图(如"汽车设计图")
实例:类的具体实现(如"你的特斯拉Model 3")

class MyClass:          # 类声明 count = 0           # 类变量(所有实例共享)def __init__(self, name):self.name  = name  # 实例变量(每个对象独立)

关键特性解析

类变量(共享数据)

  • 相当于类的"全局变量"
  • 所有实例访问同一内存地址
  • 修改会影响所有实例

实例变量(对象私有数据)

  • 每个实例独立存储
  • 同名变量互不干扰
  • 通过self.变量名访问

实战案例详解

class Employee:company = "TechCorp"  # 类变量 def __init__(self, name):self.name  = name   # 实例变量 # 创建两个员工 
emp1 = Employee("张三")
emp2 = Employee("李四")print(emp1.company)   # 输出:TechCorp 
print(emp2.company)   # 输出:TechCorp Employee.company  = "NewTech"  # 修改类变量 
print(emp1.company)   # 输出:NewTech(所有实例同步更新)

常见误区警示

⚠️ 易错点提醒

  • 类变量要用类名.变量访问(如MyClass.count )
  • 实例方法必须包含self参数
  • __init__不是构造函数而是初始化方法
  • 避免在实例方法中直接修改类变量(建议用类方法)

开发技巧

🔧 最佳实践

  • 类变量用于存储类级别配置(如数据库连接池)
  • 实例变量存储对象特有状态(如用户个人信息)
  • 善用@classmethod处理类级别操作
http://www.xdnf.cn/news/4043.html

相关文章:

  • 协程补充---viewModelScope 相关知识点
  • 【计算机视觉】3d人脸重建:3DDFA_V2:实时高精度3D人脸重建与密集对齐技术指南
  • 【NLP】 26. 语言模型原理与概率建模方法详解(Language Models)
  • QT聊天项目DAY08
  • C 语言逻辑运算符:组合判断,构建更复杂的条件
  • Cisco Packet Tracer 选项卡的使用
  • Python中的客户端和服务端交互的基本内容
  • vue实现AI问答Markdown打字机效果
  • 【C/C++】函数模板
  • Auto.js 脚本:清理手机数据但保留账号
  • 第R8周:RNN实现阿尔兹海默病诊断(pytorch)
  • 基于EFISH-SCB-RK3576工控机/SAIL-RK3576核心板的网络安全防火墙技术方案‌(国产化替代J1900的全栈技术解析)
  • Python生活手册-正则表达式:从快递单到咖啡订单的文本魔法
  • Level DB --- MergingIterator
  • Compose 中使用 WebView
  • 基于YOLOv的目标检测训练数据构建方法研究—图像采集、标注、划分与增强一体化流程设计
  • Softmax回归与单层感知机对比
  • 【platform push 提示 Invalid source ref: HEAD】
  • 双目视觉的核心目标
  • NGINX 的 ngx_http_auth_jwt_module模块
  • 模块方法模式(Module Method Pattern)
  • JavaScript 实现输入框的撤销功能
  • 算力经济模型推演:从中心化到去中心化算力市场的转变(区块链+智能合约的算力交易原型设计)
  • Python项目源码57:数据格式转换工具1.0(csv+json+excel+sqlite3)
  • C++ 类与对象(下)—— 进阶特性与底层机制解析(构造函数初始化,类型转换,static成员,友元,内部类,匿名对象)
  • 基于 HTML 和 CSS 实现的 3D 翻转卡片效果
  • WebRTC 服务器之SRS服务器概述和环境搭建
  • 【算法笔记】动态规划基础(二):背包dp
  • TopK题-快速选择方法
  • 数据结构实验8.1:图的基本操作