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中sort排序使用

1.前言 昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看。今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=l...

python实现时间o(1)的最小栈的实例代码

这是毕业校招二面时遇到的手写编程题,当时刚刚开始学习python,整个栈写下来也是费了不少时间。毕竟语言只是工具,只要想清楚实现,使用任何语言都能快速的写出来。 何为最小栈?栈最基础的操...

Django中反向生成models.py的实例讲解

命令行中进入Django项目目录,执行 python manage.py inspectdb testmodel_test 其中testmodel_test为数据表,生成的结果...

利用pandas将非数值数据转换成数值的方式

利用pandas将非数值数据转换成数值的方式

handle non numerical data 举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~, 这里不考虑稀疏向量的使用,仅提供一些思路。本来想直接利用p...

对Python 内建函数和保留字详解

保留字: In [4]: import keyword In [5]: keyword.kwlist Out[5]: ['False', 'None', 'True', '...