Python开发学习之Python实例方法、类方法和类方法静态方法浅析
小职 2021-05-06 来源 :Go语言进阶学习 阅读 580 评论 0

摘要:本文主要介绍了Python开发学习之Python实例方法、类方法和类方法静态方法浅析,通过具体的内容向大家展现,希望对大家Python的学习有所帮助。

本文主要介绍了Python开发学习之Python实例方法、类方法和类方法静态方法浅析,通过具体的内容向大家展现,希望对大家Python的学习有所帮助。

Python开发学习之Python实例方法、类方法和类方法静态方法浅析

一、前言

类方法也可以进行更细致的划分,具体可分为类方法、实例方法和静态方法。

 

二、案例详解

实例方法

 

通常情况下,在类中定义的方法默认都是实例方法。

 

例:

 

class CLanguage:

    # 类构造方法,也属于实例方法

    def __init__(self):

        self.name = "百度"

        self.add = "www.baidu.com"

 

    # 下面定义了一个say实例方法

    def say(self):

        print("正在调用 say() 实例方法")

调用say()方法,实现功能。

 

clang = CLanguage()

clang.say()

运行结果:

 Python开发学习之Python实例方法、类方法和类方法静态方法浅析

 

 

注:

 

实例方法最少也要包含一个 self 参数,用于绑定调用此方法的实例对象。

 

类方法

 

Python 类方法和实例方法相似,它最少也要包含一个参数,只不过类方法中通常将其命名为 cls,Python 会自动将类本身绑定给 cls 参数(注意,绑定的不是类对象)。所以在调用类方法时,无需显式为 cls 参数传参。

 

和实例方法最大的不同在于,类方法需要使用@classmethod修饰符进行修饰。

 

例:

 

class ass:

    #类构造方法,也属于实例方法

    def __init__(self):

        self.name = "百度"

        self.add = "www.baidu.com"

    #定义了一个类方法

    @classmethod

    def info(cls):

        print("正在调用类方法",cls)

如果没有 @classmethod,则 Python 解释器会将 fly() 方法认定为实例方法,而不是类方法。

 

类方法推荐使用类名直接调用。

 

#使用类名直接调用类方法

ass.info()

#使用类对象调用类方法

clang = ass()

clang.info()

运行结果:

 Python开发学习之Python实例方法、类方法和类方法静态方法浅析

 

 

类静态方法

 

静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。

 

静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。

 

静态方法需要使用@staticmethod修饰。

 

例:

 

class ass:

    @staticmethod

    def info(name, add):

        print(name, add)

静态方法可以使用类名,类对象两种方式进行调用。

 

# 使用类名直接调用静态方法

ass.info("百度1", "www.baidu.com")

# 使用类对象调用静态方法

clang = ass()

clang.info("百度2", "www.baidu.com")

运行结果:

 Python开发学习之Python实例方法、类方法和类方法静态方法浅析

 

 

三、总结

本文基于Python基础,介绍了实例方法、类方法和类方法静态方法,通过实际案例讲解了三种方法的不同用法,通过代码演示,运行效果图的展示,能够帮助读者更好的理解。

 

欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

 

代码很简单,希望对你学习有帮助。


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

Python开发学习之Python实例方法、类方法和类方法静态方法浅析

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程