属性:就是属于一个对象的数据或函数元素
类有类方法、实例方法、静态方法、类数据属性(类变量)和实例数据属性(实例变量)。
类属性:包括类方法和类变量,可以通过类或实例来访问,只能通过类来修改。
实例属性:包括实例方法和实例变量
class MyClass(object): name = ‘Anl‘ def __init__(self, age): self.age = age @classmethod def class_method(cls): print "I‘m class method" def example_method(self): self.age = 20 print "I‘m a method, and age is %d", self.age @staticmethod def static_method(): print "I‘m static method"
使用类来访问类变量
MyClass.name #结果为 ‘Anl‘
使用类来修改类变量
MyClass.name = ‘Delav‘ pritn MyClass.name #结果为‘Delav‘
实用类来访问类方法
MyClass.class_method() #结果为 I‘m class method
使用类来访问静态方法
MyClass.static_method() #结果为 I‘m static method
修改实例变量
ob = MyClass(20) #实例化 print ob.age #结果为20 ob.age = 23 #修改实例属性 print ob.age #结果为23
使用实例来访问类变量
print ob.name #结果为 ‘Delav‘
使用实例来访问实例方法
ob.example_method(25) #结果为 I‘m example method , and age is 25
使用实例来访问类方法
ob.class_method() #结果为 I‘m class method
使用实例来访问静态方法
ob.static_method() #结果为 I‘m static method
修改实例属性,类变量不变,实例变量改变
ob.name = ‘Bon‘ print MyClass.name #结果为 Delav print ob.name #结果为 Bon
总的结果
原文地址:https://www.cnblogs.com/delav/p/9420394.html
时间: 2024-10-07 07:40:09