美妙的Python之Python对象

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

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


        1.Python 对象:

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

        如: 
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++等语言。须要很多其它的空间消耗与性能损耗。
        

        
        


【美妙的Python之三】Python 对象解析的更多相关文章

  1. python 类与对象解析

    类成员:    # 字段        - 普通字段,保存在对象中,执行只能通过对象访问        - 静态字段,保存在类中,  执行 可以通过对象访问 也可以通过类访问            # ...

  2. 『Python』源码解析_从ctype模块理解对象

    1.对象的引用计数 从c代码分析可知,python所有对象的内存有着同样的起始结构:引用计数+类型信息,实际上这些信息在python本体重也是可以透过包来一窥一二的, from ctypes impo ...

  3. python 类和对象

    类和对象 类 1.类的组成    数据和函数,二者是类的属性 2.两个作用: 实例化 属性引用  属性引用:类名.属性(增删改查)   实例化: 类名加括号就是实例化,会自动出发__init__的运行 ...

  4. python 解析XML python模块xml.dom解析xml实例代码

    分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...

  5. Python可迭代对象、迭代器和生成器

    Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象( ...

  6. Python 迭代器和列表解析

    Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...

  7. Python -- Json 数据编码及解析

    Python  --  Json  数据编码及解析 Json 简单介绍 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本 ...

  8. Python之code对象与pyc文件(三)

    上一节:Python之code对象与pyc文件(二) 向pyc写入字符串 在了解Python如何将字符串写入到pyc文件的机制之前,我们先来了解一下结构体WFILE: marshal.c typede ...

  9. python网络爬虫之解析网页的BeautifulSoup(爬取电影图片)[三]

    目录 前言 一.BeautifulSoup的基本语法 二.爬取网页图片 扩展学习 后记 前言 本章同样是解析一个网页的结构信息 在上章内容中(python网络爬虫之解析网页的正则表达式(爬取4k动漫图 ...

随机推荐

  1. 【JAVA WEB教程】jsp环境搭建+部署网站(eclipse+tomcat)【详细+图文】

    下载tomcat7.X   下载地址为:http://tomcat.apache.org/download-70.cgi 下载完成之后就开始安装   Next   I Agree   选中所有的复选框 ...

  2. snmp自定义OID与文件下载----服务器端配置

    客户端使用命令工具:snmpwalk 服务端开启服务 snmp service.下载安装 net-snmp. 最近做了一些工作,记性较差感觉还是记下来比较好,毕竟网上能查到的有用的资料太少了. 自定义 ...

  3. 内置函数二(lambda函数,sorted(),filter(),map(),递归函数,二分法查找)

    一,匿名函数 lambda表⽰示的是匿名函数. 不需要⽤用def来声明, ⼀一句句话就可以声明出⼀一个函数 语法:    函数名 = lambda 参数: 返回值 注意: 1. 函数的参数可以有多个. ...

  4. Apollo 1 融合 Spring 的三个入口

    前言 Spring 作为 Java 世界非官方标准框架,任何一个中间件想要得到良好的发展,必须完美支持 Spring 的各种特性,即:无缝融入 Spring. Apollo 作为分布式配置中心,服务于 ...

  5. Spark练习代码

    1.scalaWordCount package com._51doit.spark.day1 import org.apache.spark.rdd.RDDimport org.apache.spa ...

  6. maven配置之:<distributionManagement>snapshot快照库和release发布库

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  7. matlab中常数下的点是什么意思

    加上点"."后表示两个矩阵或向量对应位置进行运算, 这时候要求进行操作的两个变量必须维数相同(与矩阵乘法对矩阵维数要求不同)

  8. Vim settings file on Windows

    Question: I can't believe I am typing a question for a simple thing like this but here we are. I can ...

  9. csharp: using HtmlAgilityPack and ScrapySharp reading Url find text

    https://github.com/exaphaser/ScrapySharp https://github.com/zzzprojects/html-agility-pack https://gi ...

  10. redis 集群搭建

    1.redis 集群 redis集群是一个无中心的分布式redis存储架构,可以在多个节点之间进行数据共享,解决了redis高可用.可扩展等问题,redis集群提供了以下两个好处 1.将数据自动切分( ...