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.模块初 ...
随机推荐
- java.io.WriteAbortedException异常
java.io.WriteAbortedException异常 未实现 public interface Serializable 接口的类将无法使其任何状态序列化或反序列化. 可序列化类的所有子类型 ...
- uestc1633
uestc1633 题意 给你一个大小为 \(n\) 的集合 \(S\) ,集合里有 \(n\) 个互不相同正整数,有 \(q\) 个询问,每次询问是否能选择 \(S\) 中的一些数字 ( 同一个数字 ...
- hihocoder1069 最近公共祖先·三(tarjin算法)(并查集)
#1069 : 最近公共祖先·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上上回说到,小Hi和小Ho使用了Tarjan算法来优化了他们的“最近公共祖先”网站,但是 ...
- sql developer 自定义快捷键
- [LOJ#2540][PKUWC2018]随机算法(概率DP)
场上数据很水,比较暴力的做法都可以过90分以上,下面说几个做法. 1. 暴力枚举所有最大独立集,对每个独立集分别DP.复杂度玄学,但是由于最大独立集并不多,所以可以拿90. 2. dp[S][k]表示 ...
- JavaSE目录
常识,环境变量,注释 标示符,常量,进制转换,类型转换,位运算符,语句 数组,函数 面向对象 多线程 String 包装类 集合 其他对象 IO流,IO流--FileReader&&F ...
- iOS中的场景转换机制的浅显分析
目前Apple推荐的场景转换的方法有以下几个: 一般的跳转方法: presentViewController Discussion In a horizontally compact environm ...
- CHBTC
蛙人高频交易拆单策略-带手续费拆单策略及原理说明 - 王宇 warensoft - 博客园 CHBTC
- 安网讯通签约孟强美容CRM
整形美容CRM软件是辽宁安网讯通有限公司为孟强整形医院定制开发的一套客户关系管理软件,软件专门针对整形美容行业专科门诊的需求,能满足大中小整形美容机构或或各种专科科室的日常业务需求. 主要功能包括: ...
- Delphi Thread
Thread给几点说明:1.MyThread的实例作为TForm1的成员变量2.不要使用Form1这个全局变量,线程中可要使用它的Handle,你可以在Form中创建MyThread的实例时把Hand ...