手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2017-12-17] 来源:Linux社区  作者:gundan [字体: ]

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

一、实例属性

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

>>> class Student(object):
...    def __init__(self, name):
...        self.name = name  # 每个实例必须的属性
...
>>> s = Student('Jack')
>>> s.score = 90    # 任意绑定属性
>>> s.name
'Jack'
>>> s.score
90

二、类属性

直接在class中定义属性,这种属性是类属性,归Student类所有。

>>> class Student(object):
...    name = 'Jack'  # 类属性
...
>>> Student.name        # 获取类属性
'Jack'
>>> s = Student()
>>> s.name              # 获取类属性
'Jack'
>>> s.name = 'Mike'    # 添加实例属性
>>> s.name              # 获取实例属性
'Mike'
>>> Student.name        # 获取类属性
'Jack'

在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-12/149527.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款