Python普通方法、静态方法、类方法

上一篇 / 下一篇  2017-07-09 15:33:45 / 个人分类:python

http://blog.csdn.net/chendong_/article/details/52180310

Python的类就是个语法糖。一个函数写在类里面和写在类外面没有区别,唯一的区别就是参数,所谓实例方法就是第一个参数是self,所谓类方法就是第一个参数是class,而静态方法不需要额外的参数,所以必须区分。

类方法,当你不想重写超类方法的时候用

静态方法,当你想让你的代码看起来漂亮的时候用



如果你看过装饰器staticmethod的代码就会发现,它唯一的作用不过是加了个不用的self参数而已。python里并没有真正意义上的静态方法,因为类定义本身也是个实例(继承自object的为type实例,裸的为classobj实例),因此一个“静态方法”其实只不过是类定义对象的成员罢了……c++的static方法则是正儿八经的静态方法,因为类定义本身不是个实例。python里,除了极少的几个语句,其余全都是对象实例。一个函数同样是对象实例,因此对python而言其实连方法这一说都不准确…那些个对象方法只不过是指向函数对象的引用,只是属性而已……


TAG:

 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 45661
  • 日志数: 54
  • 建立时间: 2017-04-28
  • 更新时间: 2018-01-25

RSS订阅

Open Toolbar