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私有属性和方法实例分析
本文实例分析了python的私有属性和方法.分享给大家供大家参考.具体实现方法如下: python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等关键词来修饰. 在python中定义私有变量只需要在变量名或函数名前加上 "__"两个下划线,那么这个函数或变量就会为私有的了. 在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,所以你在外部使用原来的私有成
-
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中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8 class A: def __init__(self): # 定义私有属性 self.__name = "wangwu" # 普通属性定义 self.age = 19 a = A() # 正常输出 print a.ag
-
浅谈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面向对象程序设计之私有属性及私有方法.分享给大家供大家参考,具体如下: 如果有一个对象,当需要对其进行修改属性时,有2种方法: (1)对象名.属性名=数据---->直接修改 (2)对象名.方法名()----->间接修改 为了更好的保障属性安全,不能随意修改,一般处理方式为: (1)将属性定义为私有属性 (2)添加一个可以调用的方法,供调用,也就是间接调用属性 首先我讲解下私有属性的例子: 1.下面这个是一个错误的例子: class People(object): de
-
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之私有函数和专有方法
在任何语言中,都会规定某些对象(属性.方法.函数.类等)只能够在某个范围内访问,出了这个范围就不能访问了.这是"公"."私"之分.此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用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() 方法.属性的访问于上述方式相似,即:私有成员只能在类内部使用 以上这篇老
随机推荐
- 将nodejs打包工具整合到鼠标右键的方法
- 详解js中的apply与call的用法
- 详解nodejs中exports和module.exports的区别
- PHP中过滤常用标签的正则表达式
- linux中mac地址绑定方法
- JavaScript mapreduce工作原理简析
- php中字符查找函数strpos、strrchr与strpbrk用法
- PHP微信支付开发实例
- Wrance的图片系统目录直读版1.0
- Aspjpeg添加水印完整方法
- JSP页面跳转方法小结
- C#基础之泛型委托实例教程
- 关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
- 学习php设计模式 php实现抽象工厂模式
- 哈夫曼的c语言实现代码
- JAVASCRIPT函数作用域和提前声明 分享
- 服务器性能变慢 c盘temp文件夹存在大量sess开头文件的问题原因及解决
- 浅析对Java关键字final和static的理解
- PHP父类调用子类方法的代码例子
- Python排序搜索基本算法之选择排序实例分析