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

python面向对象:方法

1. 实例方法

实例方法用于操作实例变量,必须包含 self 参数。

class Person:def __init__(self, name):self.name = namedef greet(self):print(f"Hello, my name is {self.name}")person1 = Person("Alice")
person1.greet()  # 输出:Hello, my name is Alice

2. 类方法

类方法使用 @classmethod 装饰器,接受 cls 参数,引用类本身。

class Person:species = "Homo sapiens"@classmethoddef change_species(cls, species):cls.species = speciesPerson.change_species("Homo erectus")

3. 静态方法

静态方法使用 @staticmethod 装饰器,不需要 self 或 cls 参数。

class MathUtils:@staticmethoddef add(a, b):return a + bprint(MathUtils.add(5, 7))  # 输出:12

重点:

  • 实例方法操作实例变量和实例状态。
  • 类方法用于操作类变量或实现与类相关的逻辑。
  • 静态方法一般用于一些工具或辅助函数,不涉及类或实例的数据。
http://www.lryc.cn/news/540089.html

相关文章:

  • 物联网简介集合
  • centos下使用pyenv管理python版本
  • C++:类与对象,定义类和构造函数
  • 【Java消息队列】应对消息丢失、重复、顺序与积压的全面策略
  • 解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
  • Android14(13)添加墨水屏手写API
  • flyway的ignoreMigrationPatterns
  • 25年2月通信基础知识补充:多普勒频移与多普勒扩展、3GPP TDL信道模型
  • 华为动态路由-OSPF-骨干区
  • 接口测试-API测试中常用的协议(中)
  • 植物大战僵尸杂交版v3.2.1最新版本(附下载链接)
  • java每日精进 2.20 MQ相关复健
  • 【设计模式精讲】结构型模式之代理模式(静态代理、JDK动态代理、cglib动态代理)
  • 京东广告基于 Apache Doris 的冷热数据分层实践
  • win11 安装pyenv来管理python
  • 【AI】GitHub Copilot
  • 【LeetCode 热题100】76. 最小覆盖子串的算法思路及python代码
  • 力扣-回溯-17 电话号码的字母组合
  • [AHOI2018初中组] 分组---贪心算法
  • 知识图谱-学习计划
  • 网安作业3
  • 快速提升网站收录:内容创作的艺术
  • 【C语言】CreateFile函数用法介绍
  • 蓝桥杯好数
  • SOME/IP--协议英文原文讲解10
  • 欢乐力扣:赎金信
  • 【量化科普】Standard Deviation,标准差
  • stm32单片机个人学习笔记15(I2C通信协议)
  • 网络安全防护
  • YOLOV7的复现过程