Python私有属性和私有方法用法介绍

Python类的属性一般分为私有属性和公有属性,如C++、C#、Java等面向对象的语言都有定义私有属性的关键字。而Python中没有这类关键字,默认情况下所有的属性都是“公有的”,这样对类中属性的访问将没有任何限制,并且都会被子类继承,也能从子类中进行访问。这肯定不是我们想要的。Python使用约定属性名称来达到这样数据封装的目的。如果属性的名字以两个下划线开始,就表示为私有属性;反之,没有使用双下划线开始的表示公有属性。类的方法也同样使用这样的约定。 Python技术文章2020-09-03 |程序圆 |Python私有属性,Python私有方法

<a href="https://ajcxy.com/tag/python” target=”_blank”>Python类的属性一般分为私有属性和公有属性,如C++、C#、Java等面向对象的语言都有定义私有属性的关键字。而Python中没有这类关键字,默认情况下所有的属性都是“公有的”,这样对类中属性的访问将没有任何限制,并且都会被子类继承,也能从子类中进行访问。这肯定不是我们想要的。Python使用约定属性名称来达到这样数据封装的目的。如果属性的名字以两个下划线开始,就表示为私有属性;反之,没有使用双下划线开始的表示公有属性。类的方法也同样使用这样的约定。

应用场景及定义方式

在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到。

私有属性就是对象不希望公开的属性;

私有方法就是对象不希望公开的方法。

class Women:
    def __init__(selfname):
        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中cookie的设置方法Python编程加入日志的方法Python的GIL锁是什么?什么是Python?最全的python百科

Python教程

什么是数据分析?数据分析有什么作用?

2021-5-7 14:38:08

Python教程

python类属性是什么意思?实例属性又是什么?

2021-5-7 20:38:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索