python类的私有属性_Python类的私有属性
在 C++ 和 Java 中,属性(成员)有访问控制,如 public 表示任意代码可以访问该属性,private 表示仅当前类的代码才可以访问该属性。
Python 中没有这个访问控制符,但是可以在属性前面加上 __ 两个下划线来表示该属性不能在类外部访问。一般的属性都是可以在类的外部访问的,但是以两个下划线(__)开头的属性是不能在类的外部访问的。
下面的例子演示了这个情况:
>>> class Student: # 定义一个类
... __version = "1.0" # 私有的属性
... version = "1.1" # 普通的属性
... # 类属性定义完毕
... def __init__(self): # 初始化函数
... self.__private_attr = 88 # 定义了一个私有的属性__private_attr
... self.private_attr = 89 # 定义了一个普通的属性private_attr
... # 类定义结束
>>> Student.version # 查看类属性
'1.1'
>>> Student.__version # 私有的类属性是不能访问的
Traceback (most recent call last):
File "", line 1, in
AttributeError: class Student has no attribute '__version'
>>> student_obj1 = Student() # 创建一个类实例对象
>>> student_obj1.version # 查看普通属性
'1.1'
>>> student_obj1.__version # 查看私有属性,抛出异常
Traceback (most recent call last):
File "", line 1, in
AttributeError: Student instance has no attribute '__version'
>>> student_obj1.private_attr # 查看普通属性
89
>>> student_obj1.__private_attr # 查看私有属性,抛出异常
Traceback (most recent call last):
File "", line 1, in
AttributeError: Student instance has no attribute '__private_attr'
python类的私有属性_Python类的私有属性相关推荐
- python 类静态属性_python面向对象之静态属性/静态方法/类方法/组合
继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...
- python类属性和实例属性_Python 类属性与实例属性,类对象与实例对象用法分析...
本文实例讲述了Python 类属性与实例属性,类对象与实例对象用法.分享给大家供大家参考,具体如下: demo.py(类属性,所有实例对象共用类属性): # 定义工具类 继承object是为了兼容py ...
- python 给类添加属性_python – 如何动态添加属性到类中?
我想我应该扩大这个答案,现在我年纪大了,更聪明,知道发生了什么.迟到总比不到好. 您可以动态地向类添加属性.但是这是catch:你必须将它添加到类. >>> class Foo(ob ...
- python内置类属性_python常用内建属性大全
在python中创建一个类,它不仅有我们自定义的属性和方法,还有与生俱来的一些属性和方法,我们叫它内建属性. 下面是类常用内建属性列表. __init__ 负责一个类实例化中的初始化操作 __new_ ...
- python中类的定义方法_Python类的定义、方法和属性使用
类用来描述具有相同的属性和方法的对象的集合. 对于在类中定义的函数,称为方法. 类变量不直接叫做类变量,称为属性. 1.类的定义 例子: classUser():pass 说明: (1)定义了一个类名 ...
- python类的专有方法_Python——类的专有方法
Python除了自定义私有变量和方法外,还可以定义专有方法.专有方法是在特殊情况下或使用特殊语法时由python调用的,而不是像普通方法一样在代码中直接调用.看到形如__XXX__的变量或函数名时就需 ...
- python类中最大的_python类的学习笔记(一)
python中一切皆对象,类型的本质就是类. 在python中,用变量表示特征,用函数表示技能,因而具有相同特征和技能的一类事物就是'类',对象是则是这一类事物中具体的一个. 声明函数的方法: def ...
- python类定义的讲解_python类定义的讲解
Python中的类属性和对象属性的区别详解 类属性: class Employee(object): emCount=0 def __init__(self,name,salary): self.na ...
- python的类和对象例题_Python类、类对象和实例对象、组合、绑定详细讲解
目录: 一.组合 二.类.类对象和实例对象 三.到底什么是绑定 四.课时39课后习题及答案 *********** 一.组合 *********** 现在要求定义一个类,叫水池,水池里要有乌龟和鱼. ...
最新文章
- 转Java转iOS-第一个项目总结(2):遇到问题和解决方案
- linux上使用git把代码push到gitee上
- 固态硬盘量产工具_固态硬盘怎么修复
- 【超级攻略】仔细研究这些潜规则,你的APP用户量立刻翻番!
- java代码输出伞_在伞中集成测试Web应用程序的问题
- html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果
- 玩转java并发工具_玩Java并发
- __call__方法解析
- SpringBoot—数据库初始化脚本配置
- 【英语学习】【WOTD】doldrums 释义/词源/示例
- VS调用tensorflow模型记录
- 谈薪资被 HR 怼了:估计你一辈子就是个程序员!气不过啊。。。
- 构建可扩展的思科互联网络---多区域OSPF
- 【ZZULIOJ】郑州轻工业大学oj题解整合
- 工行网银支付浏览器兼容问题小记
- linux的adsl拨号上网,详细讲解Linux系统下ADSL拨号上网的方法
- STM32——理解时钟系统
- java url链接超时_Java编程中HttpURLConnection的连接超时中的异常
- 爬取豆瓣top250电影并分析
- 30天自制操作系统:第一天
热门文章
- mybatis mysql5.7_spring boot整合ES+mysql5.7+mybatis+iview个人博客系统
- ncf 推荐系统_浅析神经协同过滤NCF在推荐系统的应用
- 时间组件选择一个时间段_衡南(光伏支架组件安装)施工队
- C++学习之路(一)
- python刷题+leetcode(第二部分)
- “横平竖直”进行连线+将相邻框进行合并
- 消息中间件 --- Kafka快速入门
- 一文读懂类加载机制 --- ClassLoader
- Python 的协程库 greenlet 和 gevent
- linux 无法打开.ttf_win7系统ttf文件打不开怎么办【解决方法】