Python语言的类型

 

数字类型   字符串类型   元组类型   列表类型   文件类型  字典类型

 
 

1.数字类型

 

Python有三种数字类型:整数,浮点数,复数

Python中的整数类型没有取值范围限制

ex:

   

此外,整数类型可以是十进制,16进制,2进制,8进制

Python中的浮点数类型是指带有小数点及小数的数字,有取值范围限制,若想知道自己机器上浮点数的精度范围,

只需:

这个意思是说浮点数范围从10^-308 ~ 10^308 ,小数点后可保留53位

复数类型,a+bj(J)

a,b都为浮点数类型,j/J为虚数部分

对于复数z = a + bj, z.real 可以获得实数部分, z.imag 获得虚数部分

ex:

三种类型的联系:

整数是特殊的浮点数,浮点数是特殊的复数,请看下例:

不同类型:

相同类型:

Python 允许不同类型数字一起运算,运算结果为最宽的类型。

2.字符串类型

 

以下都为字符串类型

1.单引号(')
'Hello Python'
2.双引号(")
在双引号中的字符串与单引号中的字符串的使用完全相同,"Hello Python"
3.三引号('''或""", 三个单引号或三个双引号)
利用三引号,可以指示一个多行的字符串。可以在三引号中自由的使用单引号和双引号。

在一个字符串中使用单引号('),使用转义符(\),例如:


使用双引号也是如此,例如:

字符串数据可以通过指定两个索引值来得到其子字符串,例如:

字符串可以通过(+)和(*)分别进行字符串的连接操作,例如:

str()函数可以把一些数据类型转化为字符串型,例如:

当然如果你前面的变量名也是str,那就不可以这样用了。

遍历字符串的字符:

下面附上字符串操作常用的一些函数:

3.元组类型

 
元组有三个特点:
1.元组中元素可以是不同类型,为了避免歧义,当元组作为另一个元组的元素时,用括号与其他元素区分开来,例如:
2.可以通过索引访问元组中的元素(还是上面的例子),例如:
3.元组定义后不能更改或者删除

元组之间也可以用(+)或(*)进行运算,这里就不举例了。

4.列表类型

 

列表类型解决了元组类型不能修改和删除的问题,接下来我们看列表类型的相关操作。

此外,我们还可以把列表当作堆栈进行使用,例如:

也可以当作队列进行使用,不过为了更快进行插入和弹出,使用collections.deque,例如:

5.文件类型

 

1.打开文件

首先创建一个文件并进入交互式操作模式:

$mkdir test
$cd test
$touch FileTest
$python

打开文件,以只写方式:

>>>f = open('FileTest','w')
>>>print f

得到以下结果:

参数w,可选,若没有则默认为r

'r' ,使文件只读;
'w' ,使文件只写(对于同名文件,该操作使原有文件被覆盖);
'a' ,以追加方式打开文件;
'r+' ,以读写方式打开文件;

2.文件操作

首先给刚才的文件里添加一些文本

$echo 'This is the first test.\nI can learn File Operation well!.' > FileTest

按行读取文件:

这里要说明的是,f.readline() 从文件中读取单独一行,字符串结尾会自动加上一个换行符(\n) ,如果 f.readline() 返回一个空字符串,那就表示到达了文件末尾,如果是一个空行,就会描述为 '\n'。

f.readlines()返回一个列表

给文件中写入内容,写入类型必须为字符串型:

以(w)方式打开之后,写入的内容会"覆盖"(实际上是先删除再创建一个新的同名文件)原来的内容,而以(a)方式打开则不会

ex:文件拷贝

>>>infile = open('file1name','r')
>>>outfile = open('file2name','w')
>>>lines = c = 0
>>>for line in infile:
... lines += 1
... c += len(line)
... outfile.write(line)
...
>>>infile.close()
>>>outfile.close()

3.pickle模块


这个模块方便了我们向文件里写入其他复杂的数据类型(列表,字典等)。

6.字典类型

 

首先解释一下字典类型,它是针对非序列集合而提供的一种数据类型。

顾名思义,通俗的讲就是提供一个,找到对应的(类似于查字典,通过拼音或笔画找到对应的字)。

所以字典就是 <键><值>对 的集合。

ex:

>>>Din = {"One":"1","Two":"2","Three":"3"}

字典操作:

1.给字典中添加一项新的元素

>>>Din["Four"] = "4"

2.删除一项

>>>del Din["Four"]

3.访问字典中的值(如果不存在则返回错误信息)

>>>Din["Three"]

4.字典遍历

>>>for key in Din:
... print(key+":"+str(Din[key]))
...


5.判断一个元素是否在字典中

>>>"Four" in Din

>>>"Four" not in Din

6.字典不支持拼接操作和重复操作,但是支持-,<,>,!=,==,>=,<=,and,or,not,字典是无序的

7.其他常用函数

ex:

Python数据类型解析(基础篇)的更多相关文章

  1. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  2. 深度学习入门者的Python快速教程 - 基础篇

      5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...

  3. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  4. [资料分享]Python视频教程(基础篇、进阶篇、项目篇)

    Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...

  5. [WebKit内核] JavaScriptCore深度解析--基础篇(一)字节码生成及语法树的构建

    看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>,写的很好,深受启发.想补充一些Horkey没有写到的 ...

  6. PE文件解析 基础篇

    PE文件解析 基础篇 来源 https://bbs.pediy.com/thread-247114.htm 前言 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具. 编译器是VS ...

  7. Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作

    目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...

  8. python之路基础篇

    基础篇 1.Python基础之初识python 2.Python数据类型之字符串 3.Python数据类型之列表 4.Python数据类型之元祖 5.Python数据类型之字典 6.Python Se ...

  9. Python学习笔记——基础篇【第四周】——迭代器&生成器、装饰器、递归、算法、正则表达式

    目录 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 #作业:计算器开发 a.实现加减成熟及 ...

随机推荐

  1. 数据库中间件之mycat读写分离

    mycat核心概念 逻辑库 mycat中定义.管理的数据库 逻辑表 逻辑库中包含的需分库分表存储的表 datanode 数据节点(分片节点),逻辑表分片的存放节点 datahost 数据主机(节点主机 ...

  2. 雷达无线电系列(三)经典CFAR算法门限因子alpha计算(matlab)

    前言 本文汇集CA.SO.GO.OS.杂波图等恒虚警算法的门限因子求解方法及其函数 1,CA-CFAR [非常简单,可以直接求解] %% 均值恒虚警_门限因子计算公式 %% 版本:v1 %% 时间:2 ...

  3. Go 操作 Mysql(二)

    查询数据方法回顾整理 上一篇博客中,主要是快速过了一遍 demo 代码和 DB 类型对象中方法的使用 在整理查询数据方法的时候,使用了 Query() 方法,其实 sqlx 还提供了 QueryRow ...

  4. 回忆一下Node(随时更改,想到什么写什么)

    什么是Node? Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量又高效 事件驱动: 任务执行,发布者 ...

  5. javascript/js实现 排序二叉树数据结构 学习随笔

    二叉树是一种数据结构.其特点是: 1.由一系列节点组成,具有层级结构.每个节点的特性包含有节点值.关系指针.节点之间存在对应关系. 2.树中存在一个没有父节点的节点,叫做根节点.树的末尾存在一系列没有 ...

  6. ceph集群部署(基于jewel版)

    环境 两个节点:ceph1.ceph2 ceph1: mon.mds.osd.0.osd.1 ceph2: osd.2.osd.3 网络配置: ceph1: 管理网络,eth0,10.0.0.20 存 ...

  7. synchronize与lock

    1. synchronize的作用 synchronize是java最原始的同步关键字,通过对方法或者代码块进行加锁实现对临界区域的保护.线程每次进去同步方法或者代码块都需要申请锁,如果锁被占用则会等 ...

  8. Apache老版本下载地址

    有时候我们想做测试或者使用旧版本软件时,往往发现官方网站已经下架,以Apache为例: Apache旧版本下载地址:http://archive.apache.org/dist/httpd/ .... ...

  9. web框架(1)-搭建开发环境

    一.python安装 首先,确认系统安装的Python版本 $ python3 -V Python 3.6.3 未安装python,请转至:python安装 二.安装第三方依赖库 1.异步框架aioh ...

  10. ubuntu18.04 安装android studio

    首先从官网下载android studio:Android Studio (安装前应先安装JDK环境) 得到android-studio-ide-191.5977832-linux.tar.gz 在安 ...