封装——“隐藏一切可以隐藏的实现细节,只向外界暴露(提供)简单的编程接口”。

在上节的 Student 类中,每个实例就拥有各自的 name 和 age 这些数据。我们可以通过函数来访问这些数据,比如打印一个学生的年龄:

>>> def print_age(std):

... print('%s: %s' % (std.name, std.age))

...>>> print_age(stu1)

小白菜: 21

但是,既然Student实例本身就拥有这些数据,要访问这些数据,就没有必要从外面的函数去访问,可以直接在Student类的内部定义访问数据的函数,这样,就把“数据”给封装起来了。这些封装数据的函数是和

Student类本身是关联起来的,我们称之为类的方法:

class Student(object): def __init__(self, name, age):

self.name = name

self.age = age def print_age(self):

print('%s: %s' % (self.name, self.age))

这样一来,我们从外部看Student类,就只需要知道,创建实例需要给出name和age,而如何打印,都是在Student类的内部定义的,这些数据和逻辑被“封装”起来了,调用很容易,但却不用知道内部实现的细节。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

python中封装是什么意思_Python中数据封装是什么?相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python怎么宏定义符号变量_python中定义宏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 什么是宏? 宏类似python中的函数,可以传参数进去,但不能有返回值! 在实际 ...

  4. python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解

    Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...

  5. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  6. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

  7. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  8. python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续

    上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...

  9. python计算数组元素的和_python中数组的运算

    Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/​www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...

最新文章

  1. 打开linux虚拟机ssh服务,虚拟机中Ubuntu11.04如何开启ssh服务?
  2. 李德毅院士:未来交通——自动驾驶与智能网联
  3. Struts2漏洞分析之Ognl表达式特性引发的新思路
  4. python sklearn.model_selection.ShuffleSplit()函数的用法
  5. ASP.NET Core 开源项目 nopCommerce,一款沉淀13年的电商开源佳作!
  6. krsort_PHP krsort()函数与示例
  7. 工业机器人的控制方式
  8. 关于coredump文件生成与查看
  9. 普元 AppServer 7.0 如何添加第三方jar到AppServer里?
  10. ANSYS Maxwell 2D永磁体建模
  11. 决策树模型及案例(Python)
  12. nps内网穿透p2p隧道实战
  13. 千个Excel文件合并为一个文件
  14. A. 贝壳找房性价比
  15. oracle04052,案例学习Oracle错误:ORA-04052
  16. 【CSDN博客频道携手图灵教育】“移动开发之我见”主题征文活动
  17. 工作中遇到的一些问题及解决办法
  18. linux下给firefox安装flashplayer ubuntu下的cp,rm命令
  19. 如何防止网站被恶意骚扰
  20. SQL Server代理服务无法启动的处理方法(转载)

热门文章

  1. 2.6 multimap
  2. 垃圾回收算法优缺点对比
  3. 用ntdsutil命令中的restore object 更新版本号
  4. sersync+rsync实现实时同步
  5. DPM 2012 SP1---安装并部署DPM 2012 SP1服务器
  6. SAP里删除trace文件的方法
  7. oracle10g随服务器启动而自动启动(linux as 5)
  8. SAP 免费赠与客户货物的销项税处理
  9. python内置函数多少个_每个数据科学家都应该知道的10个Python内置函数
  10. LCP 07. 传递信息