Python可变和不可变、类的私有属性实例分析
本文实例讲述了Python可变和不可变、类的私有属性。分享给大家供大家参考,具体如下:
可变和不可变
items = [] print(id(list)) items.append(2) # items值改变了 print(id(list)) # 但内存地址没有变
id()
函数获取内存地址。
a = "jack" print(id(a)) b = "jack" print(id(b)) # b内存地址和上面a一样 a = "zhangSan" print(id(a)) # a内存地址变了 c = "zhangSan" print(id(c)) # c内存地址和上面a一样
类的私有属性
#自定义类 class Person: __sex = "男" age = 18 def show(self): print(self.__sex) #实例化类 p = Person() print(p.age) # 18
以__
开头定义的属性,就是类的私有属性。
这个类,可以通过p.age
访问age属性;
但是p.sex
来访问私有是sex属性就不行了。
那么,在类外部到底怎么访问类的私有属性呢?
p._Person__sex
实例化对象._类名__私有属性
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
python直接访问私有属性的简单方法
实例化对象名._类名__私有属性名 class Flylove: price = 123 def __init__(self): self.__direction = 'go beijing .' zIng = 'wait car,many person' if __name__ == '__main__': print Flylove.price fly = Flylove() print fly._Flylove__direction 以上这篇python直接访问私有属性的简单方法就是小编分
-
python私有属性和方法实例分析
本文实例分析了python的私有属性和方法.分享给大家供大家参考.具体实现方法如下: python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等关键词来修饰. 在python中定义私有变量只需要在变量名或函数名前加上 "__"两个下划线,那么这个函数或变量就会为私有的了. 在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,所以你在外部使用原来的私有成
-
跟老齐学Python之私有函数和专有方法
在任何语言中,都会规定某些对象(属性.方法.函数.类等)只能够在某个范围内访问,出了这个范围就不能访问了.这是"公"."私"之分.此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用class,def等,这就是保留字.除了保留字,python中还为类的名字做了某些特殊准备,就是"专有"的范畴. 私有函数 在某些时候,会看到有一种方法命名比较特别,是以"__"双划线开头的,将这类命名的函数/方法称之为"
-
老生常谈python的私有公有属性(必看篇)
python中,类内方法外的变量叫属性,类内方法内的变量叫字段.他们的私有公有访问方法类似. class C: __name="私有属性" def func(self): print(C.__name) class sub_C(C): def info(self): print(C.__name)#派生类中不可以访问父类的私有字段 obj=C() obj.func() obj=sub_C() obj.info() 方法.属性的访问于上述方式相似,即:私有成员只能在类内部使用 以上这篇老
-
浅谈Python中的私有变量
私有变量表示方法 在变量前加上两个下划线的是私有变量. class Teacher(): def __init__(self,name,level): self.__name=name self.__level=level #获取老师的等级 def get_level(self): return self.__level #获取名字 def get_in_name(self): return self.__name 动态方法无法读取私有变量 即使是动态方法也无法读取私有变量,强行读取会报错. #
-
Python 私有函数的实例详解
Python 私有函数的实例详解 与大多数语言一样,Python 也有私有的概念: • 私有函数不可以从它们的模块外面被调用 • 私有类方法不能够从它们的类外面被调用 • 私有属性不能够从它们的类外面被访问 与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字. 如果一个 Python 函数,类方法,或属性的名字以两个下划线开始 (但不是结束),它是私有的:其它所有的都是公有的. Python 没有类方法保护 的概念 (只能用于它们自已的类和子类中).类方
-
python中私有函数调用方法解密
本文实例讲述了python中私有函数调用方法.分享给大家供大家参考,具体如下: 与大多数语言一样,Python 也有私有的概念: ① 私有函数不可以从它们的模块外面被调用 ② 私有类方法不能够从它们的类外面被调用 ③ 私有属性不能够从它们的类外面被访问 与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字. 如果一个 Python 函数,类方法,或属性的名字以两个下划线开始(但不是结束),它是私有的:其它所有的都是公有的. Python 没有类方法 保护
-
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
本文实例讲述了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法.分享给大家供大家参考,具体如下: 1. 定义类 python中定义一个类的格式如下: class MyClass(object): def __init__(self,data1,data2): self.__data1=data1 self.data2=data2 def __func1(self): print("MyClass类的私有方法被调用!") def print_data(self): s
-
Python面向对象程序设计之私有属性及私有方法示例
本文实例讲述了Python面向对象程序设计之私有属性及私有方法.分享给大家供大家参考,具体如下: 如果有一个对象,当需要对其进行修改属性时,有2种方法: (1)对象名.属性名=数据---->直接修改 (2)对象名.方法名()----->间接修改 为了更好的保障属性安全,不能随意修改,一般处理方式为: (1)将属性定义为私有属性 (2)添加一个可以调用的方法,供调用,也就是间接调用属性 首先我讲解下私有属性的例子: 1.下面这个是一个错误的例子: class People(object): de
-
实例讲解Python中的私有属性
在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8 class A: def __init__(self): # 定义私有属性 self.__name = "wangwu" # 普通属性定义 self.age = 19 a = A() # 正常输出 print a.ag
随机推荐
- srcElement表格样式
- 获取Javscript执行函数名称的方法
- 四个常见html网页乱码问题及解决办法
- java和c#使用hessian通信的方法
- JavaScript html5利用FileReader实现上传功能
- 使用jQuery validate 验证注册表单实例演示
- PHP伪造referer实例代码
- 安装音量控制程序 任务栏音量
- MySQL数据库开启、关闭、查看函数功能的方法
- java中哈希表及其应用详解
- Android获取设备隐私 忽略6.0权限管理
- C++可变参数的函数与模板实例分析
- FileShare枚举的使用小结(文件读写锁)
- Python numpy 提取矩阵的某一行或某一列的实例
- windows下 jdk1.7安装教程图解
- Android内部存储改变读取权限的方法
- 在 Vue 应用中使用 Netlify 表单功能的方法详解
- 易语言使用如果真命令判断编辑框内容是否正确的代码
- 易语言GB2312转UTF8编码教学
- js字符串处理之绝妙的代码