简单介绍python封装的基本知识


Posted in Python onAugust 10, 2019

python封装简介

1.效果图:

对比一:

简单介绍python封装的基本知识

对比二:

简单介绍python封装的基本知识

2.学习来源代码:

# 封装是面向对象的三大特性之一
# 封装指的是隐藏对象中一些不希望被外部所访问到的属性或方法
# 如何隐藏一个对象中的属性?
#  - 将对象的属性名,修改为一个外部不知道的名字
# 如何获取(修改)对象中的属性?
#  - 需要提供一个getter和setter方法使外部可以访问到属性
#  - getter 获取对象中的指定属性(get_属性名)
#  - setter 用来设置对象的指定属性(set_属性名)
# 使用封装,确实增加了类的定义的复杂程度,但是它也确保了数据的安全性
#  1.隐藏了属性名,使调用者无法随意的修改对象中的属性
#  2.增加了getter和setter方法,很好的控制的属性是否是只读的
#    如果希望属性是只读的,则可以直接去掉setter方法
#    如果希望属性不能被外部访问,则可以直接去掉getter方法
#  3.使用setter方法设置属性,可以增加数据的验证,确保数据的值是正确的
#  4.使用getter方法获取属性,使用setter方法设置属性
#    可以在读取属性和修改属性的同时做一些其他的处理
#  5.使用getter方法可以表示一些计算的属性

class Dog:
  '''
    表示狗的类
  '''
  def __init__(self , name , age):
    self.hidden_name = name
    self.hidden_age = age
  def say_hello(self):
    print('大家好,我是 %s'%self.hidden_name) 
  def get_name(self):
    '''
      get_name()用来获取对象的name属性
    '''  
    # print('用户读取了属性')
    return self.hidden_name
  def set_name(self , name):
    # print('用户修改了属性')
    self.hidden_name = name
  def get_age(self):
    return self.hidden_age
  def set_age(self , age):
    if age > 0 :
      self.hidden_age = age  
d = Dog('旺财',8)
# d.say_hello()
# 调用setter来修改name属性 
d.set_name('小黑')
d.set_age(-10)
# d.say_hello()
print(d.get_age())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的两个内置模块介绍
Apr 05 Python
Python编程之多态用法实例详解
May 19 Python
简单实现python进度条脚本
Dec 18 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
详解python中list的使用
Mar 15 Python
超实用的 30 段 Python 案例
Oct 10 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
Python wordcloud库安装方法总结
Dec 31 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 #Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 #Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 #Python
基于python二叉树的构造和打印例子
Aug 09 #Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 #Python
Django ORM 自定义 char 类型字段解析
Aug 09 #Python
解决使用export_graphviz可视化树报错的问题
Aug 09 #Python
You might like
php中error与exception的区别及应用
2014/07/28 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
解决python 输出是省略号的问题
2018/04/19 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
Python调用Redis的示例代码
2020/11/24 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
护士自我评价范文
2014/01/25 职场文书
建筑施工安全责任书
2014/07/24 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
投标单位介绍信
2015/05/05 职场文书
Python基础之元类详解
2021/04/29 Python
对Golang中的FORM相关字段理解
2021/05/02 Golang
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python