码迷,mamicode.com
首页 > 编程语言 > 详细

Python面向对象—类属性和实例属性

时间:2018-08-04 23:23:52      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:静态方法   ssm   info   python   src   object   元素   修改   com   

属性:就是属于一个对象的数据或函数元素

类有类方法、实例方法、静态方法、类数据属性(类变量)和实例数据属性(实例变量)。

类属性:包括类方法和类变量,可以通过类或实例来访问,只能通过类来修改。

实例属性:包括实例方法和实例变量

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

总的结果

技术分享图片

 

Python面向对象—类属性和实例属性

标签:静态方法   ssm   info   python   src   object   元素   修改   com   

原文地址:https://www.cnblogs.com/delav/p/9420394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!