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

不言
不言 原创
2018-04-14 10:32:36 995浏览

本篇文章给大家分享的内容是关于Python面向对象之实例属性和类属性 ,有着一定的参考价值,有需要的朋友可以参考一下

由于Python是动态语言,根据类创建实例可以任意绑定属性。

给实例绑定属性的方法是通过实例变量,或者通过self变量:

class Student(object):
    def __init__(self,name):
        self.name = name

s = Student('jeff')
print(s.name)
#jeff

当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例

都可以访问到。来测试一下:

>>> class Student(object):
...     name = 'Student'
...
>>> s = Student()
>>> print(s.name)
Student
>>> print(Student.name)
Student
>>> s.name = 'jeff'
>>>
>>> print(s.name)
jeff
>>> print(Student.name)
Student
>>> del s.name
>>> print(s.name)
Student
>>> print(Student.name)
Student

从上面例子可以看出,在编写程序的时候,千万不要把实例属性和类属性使用相同的名字,因为相同名字的实例属性将屏蔽调类属性,但是当你删除实力属性后,再使用相同的名称,访问到的将是类属性

相关推荐:

Python面向对象之获取对象信息

Python面向对象之继承和多态

以上就是Python面向对象之实例属性和类属性 的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。