Python基础学习:怎么实现变量私有化

本文通过Python类的实例展示了如何实现变量私有化。详细介绍了使用双下划线前缀来隐藏类的属性,并提供了如何访问和更新这些私有变量的方法。

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

Python基础学习:怎么实现变量私有化

1、self__c真正实现了变量私有化

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : caodingzheng

'''
    本篇主要讲变量私有化
'''


class Hidden_Variables(object):

    def __init__(self):
        self.a = 1
        self._b = 2
        self.__c = 3

    def one(self):
        print(self.a + self._b + self.__c)
        return self.a + self._b + self.__c

    def get_c(self):
        return self.__c

    def updata_c(self, value):
        self.__c = value
        print('变量c的值已被修改,c的值为%d' % (self.__c))


h = Hidden_Variables()
h.one()
'''
    6
'''
h.a = 2
h.one()
''' 类的变量a被改变,结果为1
    7
'''

j = Hidden_Variables()
j.one()
'''
    6    
'''
print(j._b)
'''值被打印出来
    2
'''
j._b = 10
print(j._b)
j.one()
'''虽然变量被隐藏了,但还是可以被更改
    14
'''

k = Hidden_Variables()
k.one()
'''
    6
'''
# print(k.__c)
'''未能获取到c的值,变量c被私有化隐藏起来
    Traceback (most recent call last):
  File "D:/test/PycharmProjects/untitled/test/hidden_variables.py", line 51, in <module>
    print(k.__c)
AttributeError: 'Hidden_Variables' object has no attribute '__c'
'''
k.__c = 11
print(k.__c)
print(type(k.__c))
'''这个时候k.__c是一个特殊变量,是一个int类型,这里的k.__c是一个整体,k不是实例化的k = Hidden_Variables()
    <class 'int'>
'''
k.one()
'''这个时候我虽然看似给c重新赋了值,但是值未曾生效
    6
'''

l = Hidden_Variables()
l.one()
'''
    6
'''
print(l.get_c())
'''
    3
'''
l.updata_c(20)
'''
    变量c的值已被修改,c的值为20
'''
print(l.get_c())
'''
    20
'''
l.one()
'''
    23
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值