博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类方法的实例python,Python中的实例方法类方法 静态方法
阅读量:4696 次
发布时间:2019-06-09

本文共 1057 字,大约阅读时间需要 3 分钟。

Python中的实例方法类方法 静态方法

Python中的实例方法,类方法, 静态方法

d69965a61a8354544c052fe904816e71.png

python 是双面向的,即可以面向函数编程,也可以面向对象编程,所谓面向对象编程就是单独一个  .py  文件,里面没有类,全是一些函数,调用的时候导入模块,通过

模块名.函数名()调用,完全不需要类,而类作用是用来面向对象编程的,类可以有自己的属性,类可以创建多个实例,每个实例都可以有不同的属性,这也就保存了很多私有的数据。

如上图中,在类里面定义的函数就是方法,类方法需要@classmethod 修饰并且有个隐藏参数  cls ,实例方法必须有个参数 self ,静态方法必须要有 @staticmethod 修饰,类和实例都可以访问静态方法,实例可以访问实例方法也可以访问类方法,类可以访问类方法也可以访问实例方法,访问实例方法需要带参数 self。可以理解为类其实也是一个实例,类访问实例方法不带参数会报错,类本身可以访问函数,实例则不可以。

可总结为以下几点

1,在定义普通方法的时候,需要的参数是self。也就是把类的实例作为参数传递给方法,如果不写self的时候,就会报TypeError错误,表示传递的参数多了,其实也就是在调用类方法的时候,将实例作为参数传递了。在使用普通方法的时候,必须是使用实例来调用方法,不能使用类来调用方法,没有实例,实例方法是无法使用的。

2,在定义静态方法的时候,和模块中的方法没有什么不同,最大的不同就在于静态方法在类的命名空间中,并且在声明静态方法的时候,使用的标记为@staticmethod,表示为静态方法,在调用静态方法的时候,可以使用类名或者是实例名来调用,一般使用类名来调用。如 class.method() 或者 instance.method()

3,在定义类方法的时候 ,传递的参数为cls, 表示为类,此写法也可以变,但一般是写成cls,类的方法调用可以使用类,也可以使用实例,一般的情况下是使用类。

4,self表示类型为累的object,而cls表示为类就是class

5,在继承的时候,静态方法和类方法都会被子类继承,在进行重载类中的普通方法的时候,只要写上相同的名字即可重载

6,在重载调用父类方法的时候,最好是使用super来调用父类的方法,静态方法主要用来存放逻辑性的代码,基本在静态方法中,不会涉及到类额方法和类的参数,类方法是在传递参数的时候,传递的示类的参数,参数是必须在cls中进行传递、

Python中的实例方法类方法 静态方法相关教程

转载地址:http://jmcup.baihongyu.com/

你可能感兴趣的文章
shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
查看>>
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
修改node节点名称
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
pip 警告!The default format will switch to columns in the future
查看>>
Arrays类学习笔记
查看>>
实验吧之【天下武功唯快不破】
查看>>