学习一门语言,每每都是从Hello World开始。 可是笔者认为,在一个黑框框中输出一个“你好,世界”并无什么了不得,要看透事物的本质,熟悉一门语言,就要了解其底层,就是咱们经常说的基础。本篇从python中的变量类型开始。python
五大标准数据类型编程
在内存中存储的数据能够有多种类型。缓存
例如, 一我的的名字能够用字符来存储, 年龄能够用数字来存储, 爱好能够用集合来存储等等。数据结构
Python有五个标准的数据类型:app
其中属于集合类型的数据类型有 列表、元组及字典。编程语言
0x00. 数字(Numbers)性能
数字数据类型用于存储数值。学习
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。spa
当你指定一个值时,Number对象就会被建立:code
var1 = 1 var2 = 2
del语句删除一些对象的引用,其语法是:
del var1[,var2[,var3[....,varN]]]]
经过使用del语句能够删除单个或多个对象的引用。例如:
del var1 del var1, var2
四种不一样的数字类型:
a. int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
b. long(长整型)
跟C语言不一样,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上因为机器内存有限,长整数数值不可能无限大。
注意,自从Python2.2起,若是整数发生溢出,Python会自动将整数数据转换为长整数,因此现在在长整数数据后面不加字母L也不会致使严重后果了。
c. float(浮点型)
浮点数用来处理实数,即带有小数的数字。相似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
d. complex(复数)
复数由实数部分和虚数部分组成,通常形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
小整数对象——小整型对象池
在实际编程中,数值比较小的整数,好比1,2,29等,可能会很是频繁的出现。而在python中,全部的对象都存在于系统堆上。想一想?若是某个小整数出现的次数很是多,那么Python将会出现大量的malloc/free操做,这样大大下降了运行效率,并且会形成大量的内存碎片,严重影响Python的总体性能。
在Python2.5乃至3.3中,将小整数位于[-5,257)之间的数,缓存在小整型对象池中。
0x01. 字符串(String)
字符串或串(String)是由数字、字母、下划线组成的一串字符。
它是编程语言中表示文本的数据类型。
Python的字串列表有2种取值顺序:
若是你要实现从字符串中获取一段子字符串的话,可使用变量 [头下标:尾下标],就能够截取相应的字符串,其中下标是从 0 开始算起,能够是正数或负数,下标能够为空表示取到头或尾。
好比:
s = 'i love python'
s[2:6]的结果是love。(顾头不顾尾,或左闭右开)
操做实例:
str = 'Hello World' print(str) #输出完整字符串 print(str[0]) #输出字符串中的第一个字符 print(str[2:5]) #输出字符串中第三个至第五个之间的字符 print(str[2:]) #输出从第三个开始到最后的字符串 print(str*2) #输出字符串两次 print('say: ' + str) #输出链接的字符串
0x02. 列表(List)
List(列表) 是 Python 中使用最频繁的数据类型。
列表能够完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至能够包含列表(所谓嵌套)。
操做实例:
list = ['apple', 'jack', 798, 2.22, 36] otherlist = [123, 'xiaohong'] print(list) #输出完整列表 print(list[0]) #输出列表第一个元素 print(list[1:3]) #输出列表第二个至第三个元素 print(list[2:]) #输出列表第三个开始至末尾的全部元素 print(otherlist * 2) #输出列表两次 print(list + otherlist) #输出拼接列表
0x03. 元祖(Tuple)
元组是另外一个数据类型,相似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。可是元组不能二次赋值,至关于只读列表。
操做实例与列表类似
0x04. 字典(Dictionary)
字典(dictionary)是除列表之外Python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
二者之间的区别在于:字典当中的元素是经过键来存取的,而不是经过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
操做实例:
dict = {} dict['one'] = 'This is one' dict[2] = 'This is two' tinydict = {'name':'john','code':5762,'dept':'sales'} print(dict['one']) #输出键为'one'的值 print(dict[2]) #输出键为2的值 print(tinydict) #输出完整的字典 print(tinydict.keys()) #输出全部键 print(tinydict.values()) #输出全部值
未完待续,下一篇,python基础之七种运算符