python如何获取权限_Python类的访问权限(public、 private、protected)

  • Post author:
  • Post category:python


与 C++、C#、Java 等语言相似,Python 支持将类的属性和方法设置成特定的访问权限,但不是通过关键字区分,而是使用一套约定式的规则:

使用一个下画线“_”开头的属性或方法为保护(protected)属性或方法,只能在类或其派生类中访问,在类内部以“self._属性名或方法名”的方式使用;

其他的属性或方法为公有(public)属性或方法,可在类的外部直接访问,在类内部以“self.属性名或方法名”的方式使用。

以下例子展示了三种不同访问权限的属性和方法:

class Class1:

public1= 111

_protected1 = 222

_private1 = 333

def publicFunc1(self):

pass

def _protectedFunc1(self):

pass

def __privateFunc1(self):

pass

class Class2(Class1):

public2 = 444

_protected2 = 555

__private2 = 666

def publicFunc2(self):

pass

def _protectedFunc2(self):

pass

def __privateFunc2(self):

pass

c1 = Class1()

print(c1.public1)

print(c1._protected1)

print(c1.__private1)

c1.publ