python函数(十一)-- 私有方法

私有方法

在某些时候,会看到有一种方法命名比较特别,是以“__”双划线开头的,将这类命名的函数/方法称之为“私有函数”。

所谓私有函数,就是:

  • 私有函数不可以从它们的模块外面被调用

  • 私有类方法不能够从它们的类外面被调用

  • 私有属性不能够从它们的类外面被访问

例如:

class People(object):
    def __init__(self):
        self.name = "张三"
        self.__age = 52
    def ser(self):
        print("公有方法")
    def __ms(self):
        print("私有方法")
people = People()

print(people.name)
#输出  张三
print(people.age)
#出错:AttributeError: 'People' object has no attribute 'age'
#因为age变为私有属性所以访问不到
people.__ms()
#出错:AttributeError: 'People' object has no attribute '__ms'
#因为__ms是私有方法所以访问不到

因为python是弱类型语言。所以想访问到也是可以的(失去了设为私有的初衷,不介意用)

print(people.__dict__)
#找到实例化对象中的所有属性包括私有属性
print(people._People__age)
#输出   52

可以在类中调用私有方法与属性

class People(object):
    def __init__(self):
        self.name = "张三"
        self.__age = 52
        self.__ms()
    def ser(self):
        print("公有方法")

    def __ms(self):
        print("私有方法")

people = People()
#输出  私有方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值