文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python实例方法、类方法和类方法静态方法浅析

2024-12-03 05:54

关注

二、案例详解

实例方法

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

例:

  1. class CLanguage: 
  2.     # 类构造方法,也属于实例方法 
  3.     def __init__(self): 
  4.         self.name = "百度" 
  5.         self.add = "www.baidu.com" 
  6.  
  7.     # 下面定义了一个say实例方法 
  8.     def say(self): 
  9.         print("正在调用 say() 实例方法"

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

  1. clang = CLanguage() 
  2. clang.say() 

运行结果:

注:

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

类方法

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

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

例:

  1. class ass: 
  2.     #类构造方法,也属于实例方法 
  3.     def __init__(self): 
  4.         self.name = "百度" 
  5.         self.add = "www.baidu.com" 
  6.     #定义了一个类方法 
  7.     @classmethod 
  8.     def info(cls): 
  9.         print("正在调用类方法",cls) 

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

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

  1. #使用类名直接调用类方法 
  2. ass.info() 
  3. #使用类对象调用类方法 
  4. clang = ass() 
  5. clang.info() 

运行结果:

类静态方法

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

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

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

例:

  1. class ass: 
  2.     @staticmethod 
  3.     def info(nameadd): 
  4.         print(nameadd

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

  1. # 使用类名直接调用静态方法 
  2. ass.info("百度1""www.baidu.com"
  3. # 使用类对象调用静态方法 
  4. clang = ass() 
  5. clang.info("百度2""www.baidu.com"

运行结果:

三、总结

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

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

 

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

 

来源:Go语言进阶学习内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯