博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
13私有属性和私有方法
阅读量:5886 次
发布时间:2019-06-19

本文共 988 字,大约阅读时间需要 3 分钟。

1. 应用场景及定义方式

应用场景

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

定义方式

  • 定义属性或方法时, 属性名或者方法名前 增加 两个下划线, 定义的就是 私有 属性或方法
Women

name

__age

__init__(self, name):

__secret(self):

1 class Women: 2  3     def __init__(self, name): 4  5         self.name = name 6         self.__age = 18 7  8     def __secret(self): 9         # 在对象的方法内部, 是可以访问对象的私有属性的10         print("%s 的年龄是 %d" % (self.name, self.__age))11 12     def tell(self):13         # 在对象的方法内部, 是可以访问对象的方法14         self.__secret()15 16 17 xiaofang = Women("小芳")18 19 # 私有属性, 在外界不能够直接访问20 # print(xiaofang.age)21 # 私有方法, 同样不允许在外界直接访问22 # print(xiaofang.__secret())23 xiaofang.tell()

2. 伪私有属性和私有方法(科普不推荐使用)

提示 : 在日常开发中, 不要使用这种方法, 访问对象的 私有属性 或 私有方法

Python 中, 并没有 真正意义私有

  • 再给 属性, 方法 命名时, 实际是对 名称 做了一些特殊处理, 使得外界无法访问到
  • 处理方式: 名称 前面加上 _类名 => _类名__名称

 

1 # 私有属性 这样访问2 print(xiaofang._Women__age)3 # 私有属性 这样访问4 print(xiaofang._Women__secret())

 

转载于:https://www.cnblogs.com/xinmomoyan/p/10347157.html

你可能感兴趣的文章
PHP 中 $_FILES
查看>>
spring IOC
查看>>
linux内核升级
查看>>
Linux下vmstat结果详解
查看>>
USE_HASH
查看>>
Linux Eclipse美化:解决工具栏过大和 Javadoc背景色修改
查看>>
Jeesite中shiro的用法讲解
查看>>
svn钩子
查看>>
RabbitMQ安装、配置、基本使用
查看>>
NFS读写块大小分析
查看>>
javascript预编译和处理的问题
查看>>
云计算之openstack-newton版搭建(二)
查看>>
GCC 源码安装
查看>>
学习Linux旅途--Day Four--
查看>>
机器学习——K-近邻(KNN)算法
查看>>
Exchange 日常管理六之:创建邮箱数据库
查看>>
LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍
查看>>
JavaScript常用代码(不定时更新)
查看>>
git/github使用初探
查看>>
Windows Server 磁盘空间不足怎么办
查看>>