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中使用PIL模块处理图像的教程
Apr 29 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
Python中super()函数简介及用法分享
Jul 11 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
Python利用pandas处理Excel数据的应用详解
Jun 18 Python
Python中拆分字符串的操作方法
Jul 23 Python
基于python爬取有道翻译过程图解
Mar 31 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Python验证码截取识别代码实例
May 16 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
详解Python中的Lock和Rlock
Jan 26 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 excel类 phpExcel使用方法介绍
2010/08/21 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
实现复选框全选/全不选切换
2006/12/23 Javascript
extjs form textfield的隐藏方法
2008/12/29 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
BootStrap modal实现拖拽功能
2018/12/01 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
python简单实现旋转图片的方法
2015/05/30 Python
常见的python正则用法实例讲解
2016/06/21 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
大三预备党员入党思想汇报
2014/01/08 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
英文升职感谢信
2015/01/23 职场文书
市场部经理岗位职责
2015/02/02 职场文书
道歉信范文
2015/05/12 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS