一、实例方法
- 略
二、静态方法特点
- 静态方法无须传入self参数,因此在静态方法中无法访问实例变量。
- 在静态方法中不可以直接访问类的静态变量,但是可以通过类名引用静态变量。
三、类方法特点
- 与静态方法一样,类方法可以使用类名调用类方法。
- 与静态方法一样,类成员也无法访问实例变量,但是可以访问类的静态变量。
- 类方法需要传入本类的cls参数。
1 # -*- coding:utf-8 -*- 2 3 class Person: 4 grade = 1 5 6 def __init__(self, name): 7 self.name = name 8 9 def sayHi(self): # 加self区别于普通函数 10 print('Hello, your name is?', self.name) 11 12 @staticmethod # 声明静态,去掉则编译报错;还有静态方法不能访问类变量和实例变量 13 def sayName(): # 使用了静态方法,则不能再使用self 14 print("my name is king") # ,grade,#self.name 15 16 @classmethod # 类方法 17 def classMethod(cls): 18 print("class method") 19 20 21 p = Person("king") 22 p.sayHi() 23 p.sayName() 24 p.classMethod() 25 Person.classMethod() 26 27 #输出 28 Hello, your name is? king 29 my name is king 30 class method 31 class method
参考:python基础教程,P82页
作者:今孝
出处:http://www.cnblogs.com/jinxiao-pu/p/6755674.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。