python3中的私有属性和方法是以__两个下划线开头的:

class Woman(object):        #定义一个woman类      
    def __init__(self,name):
        self.name = name    #公有属性
        self.__age = 22   #私有属性

    def __money(self):      #私有方法
        print("哈哈哈,我有很多存款")

obj1 = Woman("红红")
obj1.name          #可以直接访问
print(obj1.__age)  #不可以直接访问
obj1.__money    #不可以直接访问

 第一种访问:访问私有属性和方法的方式(在类内,普通方法可以访问私有属性和方法,然后再调用普通方法来访问私有的):

class Woman(object):
    def __init__(self,name):
        self.name = name
        self.__age = 22

    def __money(self):
        print("哈哈哈,我有很多存款")

    def func_age(self):    #定义一个普通方法来访问 私有属性
        print("访问到了你的年龄:%s" % self.__age)

    def func_money(self):   #定义一个普通方法来访问 私有方法
        self.__money()

obj1 = Woman("红红")

obj1.func_age()
obj1.func_money()

 第二种访问:访问私有属性和方法的方式(通过_类名__私有(属性或方法))

class Woman(object):
    def __init__(self,name):
        self.name = name
        self.__age = 22

    def __money(self):
        print("哈哈哈,我有很多存款")



obj1 = Woman("红红")
print(obj1._Woman__age)   #通过_Woman__age
obj1._Woman__money()   #通过_Woman__money()

 

相关文章:

  • 2022-02-24
  • 2022-02-28
  • 2021-08-17
  • 2021-08-17
  • 2022-12-23
  • 2022-01-18
  • 2021-12-02
  • 2021-08-17
猜你喜欢
  • 2021-12-29
  • 2021-08-17
  • 2022-12-23
  • 2021-08-17
  • 2021-05-23
  • 2021-04-21
相关资源
相似解决方案