python 实例方法、静态方法@staticmethod、类方法@classmethod

文章介绍了Python类中的3种主要方法:实例方法(self)、静态方法(@staticmethod)和类方法(@classmethod)。实例方法与对象关联,静态方法不依赖类实例,类方法可以通过cls访问类属性并实例化对象。文章通过示例展示了这三种方法的使用场景和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哈喽,大家好,我是有勇气的牛排(全网同名)🐮

有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。

前言

在 Python类中有3个常用方法:

  • 实例方法(self)
  • 静态方法:@staticmethod
  • 类方法:@classmethod

1、实例方法(self)

实例方法中def所定义的内容,我们称之为方法,而不是函数,默认会在方法中添加self,self是类本身的实例对象。

2、静态方法(staticmethod)

定义:无法访问类或对象的数据,可以用作逻辑处理,即在类里面实现一个函数,并不需要去加self。

3 类方法

  • 可以设置修改类属性,也可以实例化对象。
  • cls 代表外层类本身,可以实例化,也可以直接调用静态方法、类方法、静态变量

4 实战

class User:
    def __init__(self):
        self.id = 1
        self.name = "有勇气的牛排"

    """
       实例方法
    """
    def get_user_info(self):
        return f"id: {self.id}  昵称:{self.name}"

    """
        @classmethod: 类方法
        可以设置修改类属性;也可以实例化对象
        cls 代表外层类本身,可以实例化,也可以直接调用静态方法、类方法、静态变量
    """
    @classmethod
    def get_hobby(cls, hobby):
        return f"你的爱好是:{hobby}"

    """
        @staticmethod: 静态方法
        无法访问类或对象的数据,可以用作逻辑处理
    """
    @staticmethod
    def get_url(url):
        return url


get_user_info = User().get_user_info()
print(get_user_info)

get_hobby = User.get_hobby("看书")
print(get_hobby)

get_url = User.get_url("www.couragesteak.com")
print(get_url)

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有勇气的牛排

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值