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字符串编码识别模块chardet简单应用
Jun 15 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
python使用pandas实现数据分割实例代码
Jan 25 Python
浅谈django的render函数的参数问题
Oct 16 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
使用Python操作FTP实现上传和下载的方法
Apr 01 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 Python
python集成开发环境配置(pycharm)
Feb 14 Python
Django视图类型总结
Feb 17 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
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
一个tab标签切换效果代码
2009/03/27 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
对pandas replace函数的使用方法小结
2018/05/18 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL
KVM基础命令详解
2022/04/30 Servers
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript