python面向对象使用方法(Python面向对象程序设计之私有属性及私有方法示例)
类别:脚本大全 浏览量:872
时间:2021-10-20 08:49:42 python面向对象使用方法
Python面向对象程序设计之私有属性及私有方法示例本文实例讲述了python面向对象程序设计之私有属性及私有方法。分享给大家供大家参考,具体如下:
如果有一个对象,当需要对其进行修改属性时,有2种方法:
(1)对象名.属性名=数据---->直接修改
(2)对象名.方法名()----->间接修改
为了更好的保障属性安全,不能随意修改,一般处理方式为:
(1)将属性定义为私有属性
(2)添加一个可以调用的方法,供调用,也就是间接调用属性
首先我讲解下私有属性的例子:
1.下面这个是一个错误的例子:
|
class people( object ): def __init__( self ,name): self .__name = name def getname( self ): return self .__name def setname( self ,newname): if len (newname) > = 5 : self .__name = newname else : print ( "error:名字长度需要大于或者等于5" ) xiaoming = people( "monkey" ) print (xiaoming.__name) |
这是错误的,因为直接输出了私有的属性,是不可以的,解决方式为:或者删掉object也行
|
class people( object ): def __init__( self ,name): self .__name = name def getname( self ): return self .__name def setname( self ,newname): if len (newname) > = 5 : self .__name = newname else : print ( "error:名字长度需要大于或者等于5" ) xiaoming = people( "monkey" ) print (xiaoming.getname()) #这样就是通过调用方法来间接调用属性 |
下面讲解一个私有方法的例子:
|
class dog: #私有方法,在方法名前面加上两个下划线 def __test1( self ): print ( "1" ) def test2( self ): print ( "2" ) dog = dog() dog.__test1() #报错 dog.test2() #正确 |
私有方法是不能直接调用的
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/chenjuan0530/article/details/78476420
您可能感兴趣
- python怎么抽取微信图片(Python 一键制作微信好友图片墙的方法)
- python环境怎么安装pip(python2.7 安装pip的方法步骤管用)
- python指定路径创建txt文件(python根据txt文本批量创建文件夹)
- pythonmath库引入方法(python使用thrift教程的方法示例)
- python协程结果(深入浅析python 协程与go协程的区别)
- python分词操作(Python英文文本分词无空格模块wordninja的使用实例)
- python图片识别文字代码(python批量识别图片指定区域文字内容)
- python代码计算一个月多少天(Python计算时间间隔精确到微妙的代码实例)
- python关于微信的模块(python基于itchat模块实现微信防撤回)
- python装饰器使用说明(详解Python装饰器)
- python选择排序最大最小同时排序(Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例)
- python 常用爬虫库(Python常用爬虫代码总结方便查询)
- python怎么设置matlab编程(实例详解Matlab 与 Python 的区别)
- python豆瓣电影爬虫课程设计报告(详解python 模拟豆瓣登录豆瓣6.0)
- python进度条怎么实现(Python小进度条显示代码)
- 使用python爬取网易云音乐(15行Python代码实现网易云热门歌单实例教程)
- 被鉴定的古董价值300万 当心,你可能遇到诈骗了(被鉴定的古董价值300万)
- 英语难学吗(初中英语难学吗)
- 如何追女孩子(如何追女孩子的技巧和方法)
- 是不是快乐全被你拿走了(而是你得到的)
- 世界上只有妈妈好(世界上只有妈妈好的歌词)
- 为什么现在社会越来越卷了(现在社会为什么发展那么快呢)
热门推荐
- 云服务器有必要备案吗(免备案云服务器多少钱?)
- mysql分组函数入门(详解MySQL 数据分组)
- NameValueCollection用法
- vue-router的两种模式(vue-route路由管理的安装与配置方法)
- asp.net 日期格式化
- dedecms文章权重排序(Dedecms实现tags云标签随机颜色与字体大小方法详解)
- 织梦dedecms专题页制作详细教程(dedecms教程之dedecms生成速度提速的方法)
- win7用iis搭建服务器(win7配置iis服务器图文教程)
- vue 父组件传值(Vue两个同级组件传值实现)
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9