一、常量、变量和对象

1、常量:是指在程序的执行过程中不变的量。如:1,2,3,4,……,true、false

  也有一些包含在模块中的用符号表示的常量,常用的如math模块中的pi和e,如:

>>>from  math import sqrt,sin

>>>pi   #显示3.141592653589793

>>>e    #显示2.718281828459045

2、变量:指向对象的值的名称就是变量。变量是一个标识符,通过等号(=)赋值运算创建,变量指向一个对象。从变量到对象的连接成为引用(Reference)。

等号(=)成为赋值运算符,a=5可以理解为把5赋给变量a。事实上,变量拥有自己的空间,变量连接到对象只是变量存储了对象的单元的存储地址,并没有存储对象的值。多个变量可以引用同一个对象,一个变量也可以引用不同的对象。引用不同的对象时,id也就不同了。

  赋值运算可以使用“连等”,如:a=b=5+3  相当于:b=5+3,a=b.

1)Python中的变量不需要声明。随时可以使用一个符号,使用等号给它赋值,以后就可以使用这个符号代表那个值。

2)可以随时赋不同类型的值。 变量通过赋值产生以后,可以随时再赋其他的值,甚至后赋的值可以和以前的值有不同的类型。也就是说,后面的赋值和前面一点关系都没有,就像新创建了一个变量一样。

例如:

a=12          #此后, a表示整数 12
a=1.2 #此后,a 表示实数1.2
a="string" #此后,a 表示一串字符“string”

3)可以使用一个等号为多个变量赋值。如:

>>> x,y,z=10,20,30
>>> x
10
>>> y
20
>>> z
30
>>>

3、对象:Python中一切皆对象。

  写出的数据1,2,3,使用的符号a,b,c,定义的函数sin(x)等等,都是对象。对象是某个类型事物的一个具体的实例。

Python中的每一个对象都有一个唯一的身份标识(Identity,简称id)、一种类型和一个值。对象的id是一个整数,一旦创建就不再改变,可以把它当做对象在内存中的地址,使用id()函数可以获得对象的id标识。例如:

>>> id(11)
1521440656
>>> id("anecdote")
61815168

  对象的类型决定了对象支持的操作,也定义了对象的取值范围。type()函数返回对象的类型。例如:

>>> type(12)
<class 'int'>
>>> type(1.2)
<class 'float'>
>>> type("object")
<class 'str'>

对象的类型也是不能改变的。

有些对象的值可以改变,称为可变对象(Mutable);有些对象的值一旦创建就不可再改变,称为不可变对象(Immutable)。Python大部分对象是不可变对象,如数值对象、字符串、元组等;字典、列表等是可变对象。

二、Python的数据类型

分为:数字类型、序列类型、集合类型、字典类型等。

(一)数字类型

数字类型是指那些能进行算术运算、位运算和数学函数运算的数据类型,包括以下几种:

  1、整数类型(Int):1,12

  2、浮点型(Float):3.14,9.03

  3、复数类型(Complex):3+5i

  4、布尔型(Bool):true,false

  5、其他数字类型:

    1)Decimal类型

    2)分数类型

(二)序列类型:表示的是若干有序的数据,分不可变序列类型和可变序列类型

不可变序列类型的数据一旦写定,其中的数据就不能再改变。此类型有:字符串、元组和字节序列。

可变序列类型的数据的内容可以更改。此类型有:列表、字节数组等。

1、字符串(str):写在一对单引号、双引号或三单引号、三双引号之间。

2、元组类型(tuple):在一对圆括号中,用逗号隔开的一组数据称为一个元组。元组表示任意类型的数据的序列,如(1,2,3)、('zhao','qian','sun','li')等。元组中的多个数据的类型可以不同,如(1,2,3,'one','two','three')等。

3、字节序列(bytes)强调数据是一系列的字节。生成的字节序列是不可修改的。

4、列表:列在一对方括号中的用逗号隔开的若干数据是一个列表。

5、字节数组(bytearray)表示可修改的字节序列。生成的字节序列是可修改的。

(三)其他类型

1、集合数据类型

  ~ 表示若干数据的集合,集合中的项目没有顺序,且不重复。

  写在一对大括号中的用逗号隔开的数据就是集合(Set)数据,如{1,2,3}。集合数据是可变的。

  写在frozenset()圆括号中的序列、集合变成不可变集合(frozenset)数据。

2、字典数据类型

  ~ 类似集合类型,字典中的每一项数据包括两部分,一个是键,一个是值。例如:{name:"zhang san",addr:"Fujian Xiamen",tel:"123453"}。键相当于一个类别的名字

3、Python一切皆有类型

  Python中的一切事物都属于一个数据类型,如模块、类、对象、函数等都属于某一类事物。每类事物都有它们的特征,这就是它们的型。像模块类型、type类型、对象类型、可调用数据类型(如一切可调用的函数、方法等)等。

  数据的类型可以使用内置函数type()来查看,例如:

>>> type(12)
<class 'int'>
>>> type(1.2)
<class 'float'>
>>> type("object")
<class 'str'>
>>> type(1.2j)
<class 'complex'>
>>> type([1,2,3])
<class 'list'>
>>>

Python 的数据表示的更多相关文章

  1. Python深度学习读书笔记-3.神经网络的数据表示

    标量(0D 张量) 仅包含一个数字的张量叫作标量(scalar,也叫标量张量.零维张量.0D 张量).在Numpy 中,一个float32 或float64 的数字就是一个标量张量(或标量数组).你可 ...

  2. python学习笔记11 ----网络编程

    网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...

  3. 使用Python进行描述性统计

    目录 1 描述性统计是什么?2 使用NumPy和SciPy进行数值分析 2.1 基本概念 2.2 中心位置(均值.中位数.众数) 2.3 发散程度(极差,方差.标准差.变异系数) 2.4 偏差程度(z ...

  4. sqlite以及python的应用

    有点乱,自己平时,遇到了就记下来,所以没整理. 数据库sqlite,以及Qt对数据库的操作 sql学习网址: sqlite官网:http://www.sqlite.org http://www.w3s ...

  5. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  6. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  7. 字符编码和python使用encode,decode转换utf-8, gbk, gb2312

    ASCII码 标准ASCII码使用7位二进制数表示大写或小写字母,数字0到9标点符号以及在美式英语中使用的特殊控制字符. 在标准ASCII码中,最高位(b7)用作奇偶校验位,所谓奇偶校验,是指在代码传 ...

  8. python变量与数据类型

    变量 什么是变量 所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性. >>> print(id.__do ...

  9. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

随机推荐

  1. KO工作原理及带来的好处

    介绍 Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库.任何时候如果你的UI需要自动更新(比如:更新依赖于用户的行 ...

  2. 如何在GPT分区上安装WIN7

    大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...

  3. [centos6.5]添加eclipse快捷方式

    [Desktop Entry] Version=buzhidao Encoding=UTF-8 Name=eclipse Comment=eclipse-for-php Exec=/opt/eclip ...

  4. poj1062 最短路径 dijkstra

    题目连接:http://poj.org/problem?id=1062 Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用 1000 ...

  5. 洛谷——P3913 车的攻击

    P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...

  6. ASP.NET Core 2.2 基础知识(十八) 托管和部署 概述

    为了方便演示,以 .NET Core 控制台应用程序讲解. 我们新建一个控制台应用程序,安装 "Newtonsoft.Json" Nuget 包,然后右键点击该项目,选择" ...

  7. Difference between [0-9], [[:digit:]] and \d

    Yes, it is [[:digit:]] ~ [0-9] ~ \d (where ~ means aproximate).In most programming languages (where ...

  8. 1.1(学习笔记)Servlet简介及一个简单的实例

    一.Servlet简介 Servlet是使用Java语言编写的服务器端程序,可以生产动态的Web界面. 主要运行在服务器端,Servlet可以方便的处理客户端传来的HTTP请求,并返回一个响应. 二. ...

  9. jquery区分苹果浏览器和安卓浏览器

    var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { ...

  10. zip压缩与解压文件夹或文件

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...