Python基本数据类型详细介绍


Posted in Python onMarch 11, 2014

1、空(None)
表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
2、布尔类型(Boolean)
在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了__nonzero__()或__len__()方法且方法返回0或False,则其实例也被当作False,其他对象均为True
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False

布尔值还可以用and、or和not运算。

1).and运算是与运算,只有所有都为True,and运算结果才是True:

>>> True and True
True
>>> True and False
False
>>> False and False
False

2).or运算是或运算,只要其中有一个为True,or运算结果就是True:
>>> True or True
True
>>> True or False
True
>>> False or False
False

3).not运算是非运算,它是一个单目运算符,把True变成False,False变成True:
>>> not True
False
>>> not False
True

4).布尔值经常用在条件判断中,比如:
if age >= 18:
    print 'adult'
else:
    print 'teenager'

3、整型(Int)
在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
4、浮点型(Float)
Python的浮点数就是数学中的小数,类似C语言中的double。
在运算中,整数与浮点数运算的结果是浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
5、字符串(String)
Python字符串即可以用单引号也可以用双引号括起来,甚至还可以用三引号括起来
字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:

'I\'m \"OK\"!'

表示的字符串内容是:
I'm "OK"!

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print打印字符串看看:
>>> print 'I\'m ok.'
I'm ok.
>>> print 'I\'m learning\nPython.'
I'm learning
Python.
>>> print '\\\n\\'
\
\

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,可以自己试试:
>>> print '\\\t\\'
\       \
>>> print r'\\\t\\'
\\\t\\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容,可以自己试试:
>>> print '''line1
... line2
... line3'''
line1
line2
line3

上面是在交互式命令行内输入,如果写成程序,就是:
print '''line1
line2
line3'''

多行字符串'''...'''还可以在前面加上r使用,请自行测试。
6、列表(List)
用符号[]表示列表,中间的元素可以是任何类型,用逗号分隔。list类似C语言中的数组,用于顺序存储结构
内建函数:
append(x)追加到链尾
extend(L)追加一个列表,等价于+=
insert(i,x)在位置i插入x,其余元素向后推,如果i大于列表长度,就在最后添加,如果i小于0,就在最开始添加
remove(x)删除第一个值为x的元素,如果不存在会抛出异常
reverse()反转序列
pop([i])返回并删除位置为i的元素,i默认为最后一个元素
index(x)返回x在列表中第一次出现的位置,不存在则抛出异常
count(x)返回x出现的次数
sort()排序
len(List)返回List的长度
del list[i]删除列表list中指定的第i+1个变量
切片
切片指的是抽取序列的一部分,其形式为:list[start:end:step]。其抽取的规则是:一般默认的步长为1,但也可自定义。

7、元组(Tuple)
元组是和列表相似的数据结构,但它一旦初始化就不能更改,速度比list快,同时tuple不提供动态内存管理的功能,需理解一下规则:
tuple可以用下标返回一个元素或子tuple
表示只含有一个元素的tuple的方法是:(d,)后面有个逗号,用来和单独的变量相区分
8、集合(Set)
集合是无序的,不重复的元素集,类似数学中的集合,可进行逻辑运算和算术运算
9、字典(Dict)
字典是一种无序存储结构,包括关键字(key)和关键字对应的值(value)。字典的格式为:dictionary = {key:value}。关键字为不可变类型,如字符串、整数、只包含不可变对象的元组,列表等不可作为关键字。如果列表中存在关键字对,可以用dict()直接构造字典
Python 相关文章推荐
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
python删除字符串中指定字符的方法
Aug 13 Python
python之列表推导式的用法
Nov 29 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
python反爬虫方法的优缺点分析
Nov 25 Python
python绘制云雨图raincloud plot
Aug 05 Python
常用python数据类型转换函数总结
Mar 11 #Python
python读取csv文件示例(python操作csv)
Mar 11 #Python
Python help()函数用法详解
Mar 11 #Python
python操作日期和时间的方法
Mar 11 #Python
Python 字符串操作方法大全
Mar 11 #Python
Python去掉字符串中空格的方法
Mar 11 #Python
使用python 获取进程pid号的方法
Mar 10 #Python
You might like
在PHP中使用灵巧的体系结构
2006/10/09 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
Python中的rjust()方法使用详解
2015/05/19 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
高中毕业生自我鉴定
2013/11/03 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
作文评语大全
2014/04/23 职场文书
奖学金个人总结
2015/03/04 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript