Python可变和不可变、类的私有属性实例分析

yipeiwu_com6年前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 调用PIL库失败的解决方法

今天学习Python的时候,需要安装一个第三方库,Python Imaging Library,是Python下面一个非常强大的处理图像的工具库,不过PIL目前只支持到Python2.7...

python with提前退出遇到的坑与解决方案

问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: with CacheLock("test_lock", 10): #如果抢占到锁,那么就执行这段代码...

Django 批量插入数据的实现方法

项目需求:浏览器中访问django后端某一条url(如:127.0.0.1:8080/get_book/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面 view...

python 给DataFrame增加index行名和columns列名的实现方法

python 给DataFrame增加index行名和columns列名的实现方法

在工作中遇到需要对DataFrame加上列名和行名,不然会报错 开始的数据是这样的 需要的格式是这样的: 其实,需要做的就是添加行名和列名,下面开始操作下。 # a是Data...

浅谈Django2.0 加xadmin踩的坑

如果是django2.0 必须下载xadmin2.0 不然很多地方不兼容 xadmin2.0下载地址 https://github.com/sshwsfc/xadmin/tree/dja...