类属性、类方法和静态方法
类属性:类中的方法外的变量称为类属性,被该类的所有对象所共享
类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
代码举例:
class Student: native_pace=‘吉林‘ #直接写在类里的变量,称为类属性 def __init__(self,name,age): self.name=name #self.name 称为实体属性,进行了一个赋值的操作 self.age = age #实例方法 def eat(self): print(‘学生在吃饭...‘) #静态方法 @staticmethod def method(): print(‘我使用了statticmethod进行修饰,所以我是静态方法‘) #类方法 @classmethod def cm(cls): print(‘我是类方法,因为我使用了classmethod进行修饰‘) #类属性的使用方式 print(Student.native_pace) stu1=Student(‘张三‘,20) stu2=Student(‘李四‘,30) print(stu1.native_pace) print(stu2.native_pace) print(‘-------------‘) Student.native_pace=‘北京‘ print(stu1.native_pace) print(stu2.native_pace)
执行结果:
说明:类属性可以使用类名调用也可以使用类对象进行调用,当修改该属性的内容时,调用结果也会随着属性的改变而改变
类方法的使用方式
class Student: native_pace=‘吉林‘ #直接写在类里的变量,称为类属性 def __init__(self,name,age): self.name=name #self.name 称为实体属性,进行了一个赋值的操作 self.age = age #实例方法 def eat(self): print(‘学生在吃饭...‘) #静态方法 @staticmethod def method(): print(‘我使用了statticmethod进行修饰,所以我是静态方法‘) #类方法 @classmethod def cm(cls): print(‘我是类方法,因为我使用了classmethod进行修饰‘) #类方法的使用方式 Student.cm()
执行结果:
说明:类方法是用类名直接进行调用,类方法的参数cls可以补用填写
class Student: native_pace=‘吉林‘ #直接写在类里的变量,称为类属性 def __init__(self,name,age): self.name=name #self.name 称为实体属性,进行了一个赋值的操作 self.age = age #实例方法 def eat(self): print(‘学生在吃饭...‘) #静态方法 @staticmethod def method(): print(‘我使用了statticmethod进行修饰,所以我是静态方法‘) #类方法 @classmethod def cm(cls): print(‘我是类方法,因为我使用了classmethod进行修饰‘) # 静态方法的使用方式 Student.method()
执行结果:
说明:静态方法的调用使用类名进行调用,静态方法没有参数
原文:https://www.cnblogs.com/wx170119/p/14469122.html