Python 属性类型

属性类型

在传统的面向对象语言,比如Java,是完全面向对象编程的。这类语言,通常类里面的属性三种类型publicprivateprotected

  • public - 公开类型,实例可以正常访问。
  • private - 私有类型,只能在类内部使用,实例不能正常访问。
  • protected - 保护类型,类内部使用 + 继承了类的子类内部里面使用,实例不能正常访问。

Python 类的所有的属性类型,都是公开类型,或者说有一些伪私有


public

公开属性,在前两篇有过演示,我们复习一下。

class Attr():
 def __init__(self):
   self.args = 'public' # 公开属性

>>> Attr().args
'public'

private

私有属性

class Attr():
 def __init__(self):
   self.__args = 'private' # 在属性面前加 __ 就是私有属性

>>> Attr().__args
"AttributeError: 'Attr' object has no attribute '__args" # 报错,不能直接访问

>>> Attr()._Attr__args # 但是私有属性,我们能通过这种方式访问,所有就有点 "伪私有"
'private'

Python的属性中,存在着一些特殊属性_agrs__agrs__agrs__,虽然这些属性我们还是有办法访问到,但是通常我们都约定俗成的,不对其进行直接操作。

更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程