Python爬虫与文本分析工作坊 & 课题申报高级研修班
python中的高级语法有类和装饰器,今天我们学习一下实例方法、类方法和静态方法的区别。其中类方法和静态方法分别用了装饰器中的classmethod和staicmethod关键词。
在此之前我们先要理解实例和类的区别。比如人类是一种类,而刘慈欣是人类中的一员,刘慈欣就是一个类的实例。
实例方法
实例是类的具体例子,那么调用实例先要初始化,这里也叫做实例化。
daliu =Human()daliu
<__main__.Human at 0x1078727f0>
刘慈欣是人类的一员,是一个实例对象,应该具有人类的一般能力,所以像daliu可以使用实例方法、类方法和静态方法。总结, 实例对象可以调用实例方法、类方法、静态方法。
daliu.instance_method('刘慈欣')
daliu.class_method('刘慈欣')
daliu.static_method('刘慈欣')
执行实例方法,
<__main__.Human object at 0x1078727f0>刘慈欣
执行类方法,<class'__main__.Human'>刘慈欣
执行静态方法 刘慈欣
类方法和静态方法
人类是类对象,刘慈欣是人类的一个实例对象,人类是不能有刘慈欣这么特殊的方法。我们看下面这个例子
Human.instance_method('刘慈欣')
类对象 不能调用实例方法,但能调用类方法和静态方法。