【美妙的Python之三】Python 对象解析

news/2024/7/20 15:45:43 标签: python, c/c++, 内存管理

美妙的Python之Python对象


        简而言之: Python 是能你无限惊喜的语言。与众不同

        Python对象概念的理解,是理解Python数据存储的前提。Python使用对象来存储数据,构造不论什么类型的值都是对象。


        1.Python 对象

        Python的对象有3个属性
        标识:每一个对象都有一个唯一的标识,通过  id(  )  能够查看对象的标识。
        类型:对象的类型。指明该对象能够存储的数据类型,通过  type(  )  可查看。
           :对象存储数据的值。

        如: 
python">a = 1
a = 3
        Python内部的实现机制:a=1,Python先创建一个整形对象,将该整形对象的值设置为1,最后该对象赋给变量a。a=2,Python再创建一个新的整形对象。将该对象的值设置为2。最后将该对象赋给变量a。
        Python的内存管理:每一个对象都有一个引用计数器。对象赋值给变量名时引用计时器+1,当一个引用销毁时。引用计数器 - 1,当引用计数器为0,也即全部引用都不存在时,系统会销毁这个对象。


        2.变量名与对象

        Python基于对象的存储数据机制,变量名与对象的关系不同于C/C++变量名与内存地址。Python中。通过变量名,不能改变对象的值。而是变量名指向了新的对象。C/C++中,变量名又一次赋值。会改变相应内存地址 的值。      
        Python中,变量名能够指向不论什么类型的对象,同意改变一个变量名指向新的不同类型的数据对象。

C/C++中。一个变量名有其特定的数据类型。


        3.Python标准类型

        Python语言提供了标准的数据类型,数据存储基于 对象机制 。上面关于对象的介绍能加深我们队Python数据的理解。
  • 数字
  • 字符串
  • 列表
  • 元组
  • 字典
        这些Python标准类型。随后的章节会将深入的介绍。 
        Python的对象存储数据机制:实质上是Python封装了内存地址。这样的封装的优势在于Python能够实现自己主动的内存管理等功能,减轻开发者的负担,代价则是Python相对于C/C++等语言。须要很多其它的空间消耗与性能损耗。

        

        
        


转载于:https://www.cnblogs.com/ldxsuanfa/p/9931809.html


http://www.niftyadmin.cn/n/1627170.html

相关文章

UGUI 旋转时钟功能

两种模式: 1.Screen Space-Overlay public void OnDrag(PointerEventData eventData) {Vector2 targetDir eventData.position - new Vector2(transform.position.x, transform.position.y); // 目标坐标与当前坐标差的向量float ang Vector2.Angle(Vector3.right…

Shell脚本的输入参数处理

2019独角兽企业重金招聘Python工程师标准>>> 参数处理-Shell传入参数的处理 1、参数说明 1. $# 传递到脚本的参数个数 2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个 3.脚本运行的当前进程ID号 4. $! 后台运行的最…

nginx判断为404跳转

server { listen 80; server_name localhost www.beautysaas.com 120.26.126.123;error_page 404 http://www.beautysaas.com/$1; #这个不带url后缀 location / { root html; index index.html index.htm index.php;try_files $uri $uri/ /index.html?$query_string; #这…

html图片在盒子中重叠,详解css盒模型与外边距重叠

盒模型的构成之前写了一篇关于如何解决css的外边距重叠问题,可是后来发现,我有些本末倒置了,对于一个问题的正确的处理流程就应该是先发现问题,分析问题,解决问题,所以我在这篇文章中就对下css的盒模型,什么是外边距重叠,为什么会发生外边距重叠,以及怎样计算外边距重叠一一进行…

CLIQUE 聚类算法以及Java实现+多线程

CLIQUE(Clustering In QUEst)是一种简单的基于网格的聚类方法,用于发现子空间中基于密度的簇。CLIQUE把每个维划分成不重叠的区间,从而把数据对象的整个嵌入空间划分成单元。它使用一个密度阈值识别稠密单元和稀疏单元。一个单元是稠密的&…

Leetcode876.Middle of the Linked List链表的中间节点

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测…

06 - 数组

---恢复内容开始--- Foundation框架有丰富的集合类型:数组、组(sets)、字典以及他们各自的可变类型;集合主要是以数组、组合字典的形式来管理一系列的对象。 注意: 集合类对他自己内部所包含的对象是一种强引用的关系&…

HNOI2015总结

// 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html 这次省队选拔其实是抱着玩玩的心态去参加的,尽管分数在我的意料之中,但是感觉还…