python变量类型学习笔记总结 – Python入门开发教程

上一章Python教程请查看:python基本语法知识总结
变量只是用来存储值的保留内存位置,这意味着当你创建一个变量时,你在内存中保留了一些空间。
解释器根据变量的数据类型分配内存并决定在保留的内存中可以存储什么,因此通过为变量分配不同的数据类型,可以在这些变量中存储整数、小数或字符。
1、为变量赋值Python变量不需要显式声明来保留内存空间,当你将一个值赋给一个变量时,声明将自动发生,等号(=)用于为变量赋值。
=操作符左边的操作数是变量名,而=操作符右边的操作数是变量中存储的值如下:

#!/usr/bin/pythoncounter = 99# 分配一个整数 miles= 999.0# 一个浮点数 name= "Oreja"# 一个字符串print counter print miles print name

这里的99、999.0和“Oreja”分别是分配给counter、miles和name变量的值。
2、多个赋值Python允许你同时为多个变量分配一个值例如:
a = b = c = 1

这里使用值1创建了一个整数对象,所有三个变量都被分配到相同的内存位置。你还可以将多个对象分配给多个变量例如:
a,b,c = 1,2,"AA"

这里,值为1和2的两个整数对象分别分配给变量a和b,将值为“AA”的一个字符串对象分配给变量c。
3、标准数据类型存储在内存中的数据可以有多种类型,例如一个人的年龄存储为一个数字值,他或她的地址存储为字母数字字符。Python有各种标准数据类型,这些数据类型用于定义可能的操作以及每种操作的存储方法。
Python有五种标准的数据类型:
  • Number数字
  • String字符串
  • List列表
  • Tuple元组
  • Dictionary字典
4、Python的数值类型数字数据类型存储数值,Number对象是在你为它们赋值时创建的,例如:
var1 = 1 var2 = 10

你还可以使用del语句删除对number对象的引用,del命令的语法是-
del var1[,var2[,var3[....,varN]]]]

可以使用del语句删除单个对象或多个对象例如:
del var del var_a, var_b

Python支持四种不同的数值类型:
  • int(有符号整数)
  • long(长整数,也可以用八进制和十六进制表示)
  • float浮点数(浮点实值)
  • complex(复数)
这里有一些数值的例子
int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
  • Python允许在long后面使用小写l,但建议只使用大写L,以免与数字1混淆,Python使用大写L显示长整数。
  • 复数由x + yj表示的实浮点数的有序对组成,其中x和y是实数,j是虚数。
5、Python字符串【python变量类型学习笔记总结 – Python入门开发教程】Python中的字符串被标识为用引号表示的连续字符,。Python允许使用单引号或双引号。可以使用切片操作符([]和[:])获取字符串的子集,索引从字符串开头的0开始,从结尾的-1开始。
加号(+)是字符串连接操作符,星号(*)是重复操作符。
#!/usr/bin/pythonstr = 'Hello World!'print str# 打印全部字符串 print str[0]# 打印字符串的第一个字符 print str[2:5]# 打印从3号到5号的字符 print str[2:]# 从第3个字符开始打印字符串 print str * 2# 打印字符串两次 print str + "TEST" # 打印连接的字符串

6、Python列表list列表是Python中最通用的复合数据类型,列表包含用逗号分隔并括在方括号([])中的项。在某种程度上,列表类似于c中的数组,它们之间的一个区别是,属于列表的所有项可以是不同的数据类型。
可以使用切片操作符([]和[:])访问存储在列表中的值,索引从列表开头的0开始,以-1结束。加号(+)是列表连接操作符,星号(*)是重复操作符。
#!/usr/bin/pythonlist = ['abcd', 369, 3.14, 'Oreja', 80.18] tinylist = [123, 'Oreja']print list# 打印整个列表 print list[0]# 打印列表的第一个元素 print list[1:3]# 从2号到3号打印元素 print list[2:]# 打印从第3个元素开始的元素 print tinylist * 2# 打印列表两次 print list + tinylist#打印连接列表

7、Python元组tupletuple是另一种类似于列表的序列数据类型,元组由许多用逗号分隔的值组成。但是与列表不同的是,元组是用括号括起来的。
列表和元组之间的主要区别是:列表用方括号([])括起来,它们的元素和大小可以更改,而元组用圆括号(())括起来而且不能更新,元组可以看作只读列表。
#!/usr/bin/pythontuple = ( 'sdd', 369 , 1.28, 'Oreja', 31.025) tinytuple = (123, 'corazon')print tuple# 打印完整列表 print tuple[0]# 打印列表的第一个元素 print tuple[1:3]# 从2号到3号打印元素 print tuple[2:]# 打印从第3个元素开始的元素 print tinytuple * 2# 打印列表两次 print tuple + tinytuple # 打印连接列表

下面的代码对元组无效,因为我们试图更新一个元组,这是不允许的,列表也可能是类似的情况
#!/usr/bin/pythontuple = ( 'ss', 11 , 3.33, 'AA', 22.2) list = [ 'ss', 11 , 3.33, 'AA', 22.2] tuple[2] = 1000# 无效语法 list[2] = 1000# 有效语法

8、Python字典dictionaryPython的字典是一种散列表类型,它们的工作方式类似于Perl中的关联数组或散列,由键-值对组成。dictionary键几乎可以是任何Python类型,但通常是数字或字符串,另一方面值可以是任意Python对象。
字典由大括号({})括起,可以使用方括号([])分配和访问值。
#!/usr/bin/pythondict = {} dict['one'] = "one" dict[2]= "two"tinydict = {'name': 'Hola','code':6734, 'dept': 'sales'}print dict['one']# 为'one'键打印值 print dict[2]# 为2键打印值 print tinydict# 打印完整的字典 print tinydict.keys()# 打印所有的键 print tinydict.values() # 打印所有的值

字典没有元素之间的顺序概念,说元素“无序”是不正确的,它们是无序的。
9、数据类型转换有时你可能需要在内置类型之间执行转换,要在类型之间进行转换,只需使用类型名称作为函数。
有几个内置函数可以执行从一种数据类型到另一种数据类型的转换,这些函数返回一个表示转换值的新对象。
编号 函数 & 描述
1 int(x [,base]) 将x转换为整数。如果x是字符串,则指定基数。
2 long(x [,base] ) 将x转换为长整数。如果x是字符串,则指定基数。
3 float(x) 将x转换为浮点数。
4 complex(real [,imag]) 创建一个复数。
5 str(x) 将对象x转换为字符串表示形式。
6 repr(x) 将对象x转换为表达式字符串。
7 eval(str) 计算一个字符串并返回一个对象。
8 tuple(s) 将s转换为元组。
9 list(s) 将s转换为列表。
10 set(s) 将s转换为集合。
11 dict(d) 创建一个字典。d必须是一个(键,值)元组序列。
12 frozenset(s) 将s转换为冻结集。
13 chr(x) 将整数转换为字符。
14 unichr(x) 将整数转换为Unicode字符。
15 ord(x) 将单个字符转换为其整数值。
16 hex(x) 将整数转换为十六进制字符串。
17 oct(x) 将整数转换为八进制字符串。

    推荐阅读