更新时间:2020-09-03 来源:黑马程序员 浏览量:
Python类的属性一般分为私有属性和公有属性,如C++、C#、Java等面向对象的语言都有定义私有属性的关键字。而Python中没有这类关键字,默认情况下所有的属性都是“公有的”,这样对类中属性的访问将没有任何限制,并且都会被子类继承,也能从子类中进行访问。这肯定不是我们想要的。Python使用约定属性名称来达到这样数据封装的目的。如果属性的名字以两个下划线开始,就表示为私有属性;反之,没有使用双下划线开始的表示公有属性。类的方法也同样使用这样的约定。
在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到。
私有属性就是对象不希望公开的属性;
私有方法就是对象不希望公开的方法。
class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 self.__age = 18 def __secret(self): print("我的年龄是 %d" % self.__age) xiaofang = Women("小芳") # 私有属性,外部不能直接访问 # print(xiaofang.__age) # 私有方法,外部不能直接调用 # xiaofang.__secret()
在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法。
提示:在日常开发中,不要使用这种方式,访问对象的私有属性或私有方法。
Python中并没有真正意义的私有
·在给属性、方法命名时,实际是对名称做了一些特殊处理,使得外界无法访问到
·处理方式:在名称前面加上 _类名 => _类名__名称
# 私有属性,外部不能直接访问到 print(xiaofang._Women__age) # 私有方法,外部不能直接调用 xiaofang._Women__secret()
Python模块的分类和模块导入方式
Python视频:Django入门视频
python中的for循环详细介绍
python while循环语句的用法
以下是黑马程序员近期推出的Python兴趣课程,3天入门Python,体验Python的魅力!
0基础Python3天入门课程
·了解Python主流就业方向,把握最新热点技术
·掌握Python的基础语法及API调用
·能够使用Python对数据获取、使用和展示
·打造自己的数据分析项目并自动生成工作报告