美妙的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基础之基本数据类型

    前言:Java内功心法之基本数据类型,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 变量就是申请内存来存储值.也就是说,当创建变量的时候,需 ...

  2. Spring之Bean的作用域与生命周期

    在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性.该属性控制着bean对象的作用域.本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的. 一.B ...

  3. Oracle,MySQL,sqlserver三大数据库如何获取系统当前时间

    Oracle中如何获取系统当前时间:用SYSDATE() MySQL中获取系统当前时间主要有以下几点: (1)now()函数以('YYYY-MM-dd HH:mm:SS')返回当前的日期时间,可以直接 ...

  4. JDK源码解析之Java SPI机制

    1. spi 是什么 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件. 系统设计的各个抽象,往往 ...

  5. Matlab Euler's method

    % matlab script to test efficiency of % Euler's method, classical Runge-Kutta, and ode45 % on Arenst ...

  6. 配置supervisor管理beego应用

    一.golang.beego等环境安装与配置 二.supervisor安装 github项目地址:https://github.com/Supervisor/supervisor 克隆项目:git c ...

  7. maven 如何依赖工程项目里面的 jar 包

    前言:现在有个 jar 包在私服和公共仓库里面都没有,需要自己将 jar 包放在工程里,然后让 maven 依赖. 这里举个栗子 项目路径: pom.xml 配置 <!--自定义查询组件的jar ...

  8. canvas-4createPattern.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【c++】计算句子中单词的平均长度

    Description 编程输入一行文本,计算这行文本的单词平均长度.假设每个单词用至少一个空格或者标点(英文逗号.句号)隔开.使用C++ string类型. Input 输入一行文本,不包含数字 O ...

  10. Tarjan中栈的分析与SLT栈的实现

    首先看一下手写的栈: do{ printf("%d ",stack[index]); visit[stack[index]]=; index--; }]);//出栈,并且输出. p ...