重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Python类方法和类方法静态方法分别是什么

这篇文章主要讲解了“Python类方法和类方法静态方法分别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python类方法和类方法静态方法分别是什么”吧!

发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及地磅秤等,在重庆网站建设公司营销型网站、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。

一、前言

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

二、案例详解

实例方法

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

例:

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

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

clang = CLanguage() clang.say()

运行结果:

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类方法和类方法静态方法分别是什么

类静态方法

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

静态方法没有类似 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类方法和类方法静态方法分别是什么
本文链接:http://cqcxhl.com/article/jspiei.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP