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 相关文章推荐
python中的内置函数getattr()介绍及示例
Jul 20 Python
Python实现的用户登录系统功能示例
Feb 05 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
django序列化serializers过程解析
Dec 14 Python
Python接口测试get请求过程详解
Feb 28 Python
PythonPC客户端自动化实现原理(pywinauto)
May 28 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 Python
一文搞懂Python Sklearn库使用
Aug 23 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
header导出Excel应用示例
2014/01/24 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
javascript中Object使用详解
2015/01/26 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
node内置调试方法总结
2018/02/22 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python获取本机所有IP地址的方法
2018/12/26 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
python包的导入方式总结
2021/03/02 Python
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
英语专业学生个人求职信
2014/01/28 职场文书
小学生元旦广播稿
2014/02/21 职场文书
会计系毕业生求职信
2014/05/28 职场文书
社区服务标语
2014/07/01 职场文书
军人离婚协议书样本
2014/10/21 职场文书
法人代表资格证明书
2015/06/18 职场文书
Python包argparse模块常用方法
2021/06/04 Python
python playwright 自动等待和断言详解
2021/11/27 Python