Python 的数据表示
一、常量、变量和对象
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 的数据表示的更多相关文章
- Python深度学习读书笔记-3.神经网络的数据表示
标量(0D 张量) 仅包含一个数字的张量叫作标量(scalar,也叫标量张量.零维张量.0D 张量).在Numpy 中,一个float32 或float64 的数字就是一个标量张量(或标量数组).你可 ...
- python学习笔记11 ----网络编程
网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...
- 使用Python进行描述性统计
目录 1 描述性统计是什么?2 使用NumPy和SciPy进行数值分析 2.1 基本概念 2.2 中心位置(均值.中位数.众数) 2.3 发散程度(极差,方差.标准差.变异系数) 2.4 偏差程度(z ...
- sqlite以及python的应用
有点乱,自己平时,遇到了就记下来,所以没整理. 数据库sqlite,以及Qt对数据库的操作 sql学习网址: sqlite官网:http://www.sqlite.org http://www.w3s ...
- 2016年GitHub排名前20的Python机器学习开源项目(转)
当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- 字符编码和python使用encode,decode转换utf-8, gbk, gb2312
ASCII码 标准ASCII码使用7位二进制数表示大写或小写字母,数字0到9标点符号以及在美式英语中使用的特殊控制字符. 在标准ASCII码中,最高位(b7)用作奇偶校验位,所谓奇偶校验,是指在代码传 ...
- python变量与数据类型
变量 什么是变量 所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性. >>> print(id.__do ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
随机推荐
- spoj - Longest Common Substring(后缀自动机模板题)
Longest Common Substring 题意 求两个串的最长公共子串. 分析 第一个串建后缀自动机,第二个串在自动机上跑,对于自动机上的结点(状态)而言,它所代表的最大长度为根结点到当前结点 ...
- shell head tail
head: 打印文件的前10行(默认) tail: 打印文件的后10行(默认) 如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来.我们平时用的最多的命令 $tail -f cata ...
- [xsy1294]sub
给出一棵$N$个节点的无根树,节点$i$有权值$v_i$.现在有$M$次操作,操作有如下两种: $1\ x\ y$ 将节点$x$的权值$v_x$修改为$y$ $2$ 选择一个联通块(也可以不选择),使 ...
- codevs 4163 求逆序对的数目 -树状数组法
4163 hzwer与逆序对 时间限制: 10 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description hzwer在研究逆序对. 对于数列{a},如果 ...
- Python的hashlib
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...
- Python的编码注释# -*- coding:utf-8 -*-
# -*- coding:utf-8 -*-的主要作用是指定文件编码为utf-8, 因为一般默认的是ASCII码,如果要在文件里面写中文,运行时会出现乱码,加上这句之后会把文件编码强制转换为utf-8 ...
- Linux查找某个时间点后生成的文件(转)
需要找到某天(例如2017-04-13)以及这之后生成的空文件.那么这个要怎么处理呢?这个当然是用find命令来解决.如下所示, -mtime -5表示查找距现在5*24H内修改过的文件 -type ...
- 几种常用的json序列化和反序列化工具介绍
一.前言 Json序列化和反序列化工作中会时常用到,也是目前数据交互的常用格式,Rest风格的接口加上json格式的数据交互,真的是天作之合. 目前Json字符与Json对象的相互转换方式有很多,接下 ...
- python 字典dict和列表list的读取速度问题, range合并
python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...
- postprocessing stack v2
用了v2和unity2017.3.0f有兼容性问题 在assetbundle的情况下 CopyStd这个shader打不进去 在assetbundle的menafest里面有列但是shader.fin ...