通过 @staticmethod 装饰器即可把其装饰的方法变为一个 静态方法 ,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法。
class SchoolMember(object):
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
member_nums = 0def introduce(self):
print("My name is %s,and I am %s year old." %(self.name,self.age))
@staticmethod
def talk():
print("I like to study python")class Teacher(SchoolMember):
def __init__(self,name,age,sex,course,salary):
super(Teacher,self).__init__(name,age,sex)
self.course = course
self.salary = salary
def Teaching(self):
print("Teacher %s is teaching %s." %(self.name,self.course))
s1 = Teacher("alex",22,"Femal","python",10000)
print("before:",s1.member_nums)
SchoolMember.member_nums = 12print("before:",s1.member_nums)
s1.member_nums = 666 #是在类中重新生成一个变量
print("after:",s1.member_nums)
SchoolMember.member_nums = 12print("after:",s1.member_nums)
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did81994