私有属性&&方法的定义&访问限制

复制代码
 1 '''
 2 在Python中,可以为实例属性和⽅法设置私有权限,即设置某个实例属性或实例⽅法不继承给⼦类
 3 
 4 设置私有权限的⽅法:在属性名和⽅法名 前⾯ 加上两个下划线 __。
 5 '''
 6 
 7 class Master(object):
 8     def __init__(self):
 9         self.kongfu = '[古法煎饼果子配方]'
10 
11     def make_cake(self):
12         print(f'运用{self.kongfu}制作煎饼果子')
13 
14 
15 class School(object):
16     def __init__(self):
17         self.kongfu = '[黑马煎饼果子配方]'
18 
19     def make_cake(self):
20         print(f'运用{self.kongfu}制作煎饼果子')
21 
22 
23 class Prentice(School, Master):
24     def __init__(self):
25         self.kongfu = '[独创煎饼果子技术]'
26         # self.money = 2000000
27         # 定义私有属性
28         self.__money = 2000000
29 
30     # 定义私有方法
31     def __info_print(self):
32         print('这是私有方法')
33 
34     def make_cake(self):
35         self.__init__()
36         print(f'运用{self.kongfu}制作煎饼果子')
37 
38     def make_master_cake(self):
39         Master.__init__(self)
40         Master.make_cake(self)
41 
42     def make_school_cake(self):
43         School.__init__(self)
44         School.make_cake(self)
45 
46 
47 class Tusun(Prentice):
48     pass
49 
50 
51 tu_sun = Tusun()
52 
53 # print(tu_sun.money)  #  无法访问  AttributeError: 'Tusun' object has no attribute 'money'
54 # print(tu_sun.__money)  #  无法访问 AttributeError: 'Tusun' object has no attribute '__money'
55 
56 tu_sun.__info_print()  # 报错:AttributeError: 'Tusun' object has no attribute '__info_print'
复制代码

 注意:私有属性和私有⽅法只能在类⾥⾯访问和修改。

posted @   Allen_Hao  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示