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与气象(使用Python和Prometheus跟踪天气的使用方法)
- python 迭代对象必须实现哪些方法(详解python之heapq模块及排序操作)
- python怎么导入beautifulsoup元素(python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比)
- python静态方法和类方法的区别(Python实例方法、类方法、静态方法的区别与作用详解)
- python的pickle用法(Python multiprocess pool模块报错pickling error问题解决方法分析)
- python6个基础数据类型(计算机二级python学习教程3 python语言基本数据类型)
- python爬百度api有次数限制吗(对python借助百度云API对评论进行观点抽取的方法详解)
- 零基础学计算机二级python(计算机二级python学习教程1 教大家如何学习python)
- python自学编程笔记(Python 编程速成推荐)
- python获取网关ip地址(python实现扫描局域网指定网段ip的方法)
- python里import的是什么(python中import与from方法总结推荐)
- pythonzipfile的用法(对Python之gzip文件读写的方法详解)
- python使用门算法加密文件(python实现栅栏加解密 支持密钥加密)
- pythonyield使用场景(Yii框架核心组件类实例详解)
- python如何判断两个数组相同(Python实现的合并两个有序数组算法示例)
- 一课译词 放鸽子(一课译词放鸽子)
- 终于来了,淘宝更改账户名测试中,快去看看你能不能修改(淘宝更改账户名测试中)
- 淘宝支持账号名修改,网友 终于可以 重新做人 了(淘宝支持账号名修改)
- 盘点那些年让人称奇的年终奖 最后一个赢辣条毫无悬念(盘点那些年让人称奇的年终奖)
- 你还没有升职吗 他竟因为几套激励理论,升职了(你还没有升职吗)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
热门推荐
- treeview怎么加载节点(AmazeUi Tree树形结构 应用小结)
- php验证码实现过程(php伪静态验证码不显示的解决方案)
- thinkphp实战教程之博客技术学习(python3编写ThinkPHP命令执行Getshell的方法)
- mysql单个表可以储存多少内容(浅谈mysql一张表到底能存多少数据)
- laravel接口响应时间(laravel请求参数校验方法)
- JS中instanceof与typeof的区别有哪些
- mysql中date_format日期格式化
- python mysql配置(详解python校验SQL脚本命名规则)
- docker停止删除所有容器方法(Docker stop停止/remove删除所有容器)
- jquery next()
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9