教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

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

更新时间:2020年09月03日10时26分 来源:传智播客 浏览次数:

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百科

0 分享到:
和我们在线交谈!