python 类与对象的访问限制

本文探讨Python中类的访问限制,包括受保护的属性和方法(前缀一个下划线)以及私有属性和方法(前缀两个下划线)。受保护的成员虽然不建议直接调用,但在某些情况下仍可访问。私有属性和方法则是为了防止外部直接访问,但可以通过类内部的特殊语法`_类名__属性或方法名`进行调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在类中,

1.有时候类的属性或方法,开发者不想它被外界调用,但还是可以被调用,这种属性或方法叫受保护的属性、方法。在属性名或方法名前加一个下划线表示。

例如:一个人的存款一般不想被外人知道,但是当买房或者出国旅游需要存款证明的时候,别人如银行还是可以知道他的存款是多少的。


# 定义jim的存款账户为1000元,存款名为money是受保护的属性。
class Deposit(object):
    def __init__(self,money):
        self._money = money

jim_account = Deposit(1000)
print(jim_account._money)

# 执行结果为1000.

2.类的属性或方法不想被外界调用,这种叫做私有属性或方法。在属性名或方法名前加2个下划线表示。私有属性或方法外界虽无法调用,但在类里面是可以调用他们的。

例如:银行账户id是公开的,但密码外界是无法调用,属于私有属性。如果要打印账单流水,则需用正确的密码登陆账户后才能打印。

class Account(object):
    def __init__(self,account_id,password):
        self.account_id = account_id
        self.__password = password

    def __account_list(self):
        print('这是一个私有方法,外部无法调用,只能在类里面调用')
        print('密码正确,调用成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值