全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

Python 类方法,静态方法的定义

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

python是双面向的,既可以面向函数编程,也可以面向对象编程,所谓面向函数就是单独一个.py文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即可调用,完全不需要类,那么你可能会问,那要类还有什么毛用?类就是用来面向对象编程啦,类可以有自己的属性,类可以创建很多实例,每个实例可以有不同的属性,这也就保存了很多私有的数据,总之都有存在的必要.

面向对象程序设计中,类方法和静态方法是经常用到的术语,逻辑上将:类方法只能由类名调用,静态方法可以由类名或者对象名调用。在python语法中,类有三种方法,分别是实例方法,静态方法,类方法

classFoo(object):

'''类三种方法语法形式'''

#在类中定义普通方法,在定义普通方法的时候,必须添加self

definstance_method(self):

print("是类{}的实例方法,只能被实例对象调用".format(Foo))

#在类中定义静态方法,在定义静态方法的时候,不需要传递任何类的东西

@staticmethod

defstatic_method():

print("是静态方法")

#在类中定义类方法,在定义类方法的时候,需要传递参数clscls即为类本身

@classmethod

defclass_method(cls):

print("是类方法")

foo=Foo()

foo.instance_method()

foo.class_method()

foo.static_method()

print("---------------")

Foo.static_method()

Foo.class_method()

可以看出:

实例方法只能被实例对象调用,静态方法(由@staticmethod装饰的方法)、类方法(由@classmethod装饰的方法),可以被类或类的实例对象调用。

实例方法,第一个参数必须要默认传实例对象,一般习惯用self。对象方法中有self参数,类方法有cls参数,静态方法是不需要这些附加参数(在c++中,是没有类这个概念)

静态函数(@staticmethod):即静态方法,静态方法是一类特殊的方法,有时候你可能需要填写一个属于这个类的方法,但是这些代码完全不会使用到实例对象本身。它主要处理这个类的逻辑关联,如验证数据;而且对参数没有要求。

类方法(@classmethod):即类方法,类方法不是绑定到对象上,而是绑定在类上的方法,它更关注于从类中调用方法,而不是从实例中调用方法,如构造重载;

成员函数:实例的方法,只能通过实例进行调用;第一个参数必须要默认传类,一般习惯用cls。

以上内容为大家介绍了Python类方法,静态方法的定义,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

相关文章

python实现WSGI的框架

pythonfor循环是什么

python-=是什么意思

python打开文本文件有哪些方法?

pythoncontextmanager()的转换

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取