基于变量的数据类型,解释器会分配对应的内存,并决定什么可以存储在保留内存中。因此,通过为变量分配不同的数据类型,可以存储这些变量在整数,小数或字符的形式。
		
			赋值给变量
		
	
	Python变量不需要显式声明保留内存空间。当赋值给一个变量这些声明自动发生。等号(=)是用来赋值给变量。
#!/usr/bin/python3 counter = 100 # An integer assignment miles = 1000.0 # A floating point name = "John" # A string print (counter) print (miles) print (name)
100 1000.0 John
		
			多重赋值
		
	
	a = b = c = 1
这里,一个整数对象使用数值1来创建,并且所有三个变量都分配到相同的存储器位置。也可以将多个对象同时分配多个变量。例如 -
a, b, c = 1, 2, "john"
这里,两个整数对象使用值1和2分别指定给变量a和b,以及“john”字符串对象值赋给变量c。
		
			标准数据类型
		
	
	存储在内存中的数据可以是多种类型的。例如,一个人的年龄可存储为数值,而他或她的地址则可存储为字母、数字和字符。Python有用于定义存储方法操作的各种标准数据类型。
- 
			数字
- 
			字符串 
- 
			列表 
- 
			元组 
- 
			字典 
Python数字
数字数据类型存储数值。当分配一个值给创建数值对象。 例如−
var1 = 1 var2 = 10
您也可以通过使用 del 语句删除引用的那一个数字对象。del 语句的语法是 -
del var1[,var2[,var3[....,varN]]]]
del var del var_a, var_b
- 
			int (有符号整数) 
- 
			float (浮点实数值) 
- 
			complex (复数) 
示例
| int | float | complex | 
|---|---|---|
| 10 | 0.0 | 3.14j | 
| 100 | 15.20 | 45.j | 
| -786 | -21.9 | 9.322e-36j | 
| 080 | 32.3+e18 | .876j | 
| -0490 | -90. | -.6545+0J | 
| -0x260 | -32.54e100 | 3e+26J | 
| 0x69 | 70.2-E12 | 4.53e-7j | 
- 
			复数由一对有序组成,通过 x + yj 来表示实浮点数, 其中 x 和 y 是实数并且 j 是虚数单位。 
Python字符串
字符串在 Python 为一组连续的引号表示的字符。Python允许对单引号或双引号对。 字符串子集可以用切片操作符 ([ ] and [:] ) :字符串的索引从0开始,并以-1结束。加号(+)号是字符串连接运算符和星号(*)是重复操作符。例如 -
#!/usr/bin/python3 str = 'Hello World!' print (str) # Prints complete string print (str[0]) # Prints first character of the string print (str[2:5]) # Prints characters starting from 3rd to 5th print (str[2:]) # Prints string starting from 3rd character print (str * 2) # Prints string two times print (str + "TEST") # Prints concatenated string
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
Python列表
列表是最通用的Python复合数据类型。列表中包含用逗号分隔并使用方括号[]来包含项目。从某种程度上讲,列表类似于C语言中的数组。一个较大的区别是,所有在一个列表中的项目可以是不同的数据类型。
存储在一个列表中的值可以使用切片操作符([]和[:])进行访问:列表的0索引位置为起点位置,并在以-1 结束。 加号(+)号是列表中连接运算,星号(*)是重复操作符。例如 -
#!/usr/bin/python3 list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print (list) # Prints complete list print (list[0]) # Prints first element of the list print (list[1:3]) # Prints elements starting from 2nd till 3rd print (list[2:]) # Prints elements starting from 3rd element print (tinylist * 2) # Prints list two times print (list + tinylist) # Prints concatenated lists
['abcd', 786, 2.23, 'john', 70.200000000000003] abcd [786, 2.23] [2.23, 'john', 70.200000000000003] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
Python元组
元组是另一个序列数据类型,它类似于列表。元组中使用单个逗号来分隔每个值。不像列表,元组的值是放列在圆括号中。
列表和元组之间的主要区别是:列表是包含在方括号[]中,并且它们的元素和大小是可以改变的,而元组元素是括在括号()中,不能进行更新。元组可以被认为是只读的列表。例如 -
#!/usr/bin/python3 tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print (tuple) # Prints complete tuple print (tuple[0]) # Prints first element of the tuple print (tuple[1:3]) # Prints elements starting from 2nd till 3rd print (tuple[2:]) # Prints elements starting from 3rd element print (tinytuple * 2) # Prints tuple two times print (tuple + tinytuple) # Prints concatenated tuple
('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')
	#!/usr/bin/python3 tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Invalid syntax with tuple list[2] = 1000 # Valid syntax with list
Python字典
Python字典是一种哈希表类型。它们工作的方式就类似在Perl中关联数组或哈希、键-值对。字典的键可以是几乎任何Python类型,但通常是数字或字符串。另一方面,它的值可以是任意Python对象。
#!/usr/bin/python3
dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values
	This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john'] 
	字典中没有元素顺序(排序)的概念。这是不正确的说,元素是“乱序”; 它们仅仅是无序的。
		
			数据类型转换
		
	
	有时,可能需要执行内置类型之间的转换。要在类型之间转换,只需使用类型名称作为函数。
有几个内置函数从一种数据类型转换到另一个。这些函数返回代表转换后的值的新对象。
| 函数 | 描述 | 
|---|---|
| int(x [,base]) | 
						转换x为整数。x是字符串则 base 为指定的基数
					 | 
| float(x) | 
						转换x为一个浮点数
					 | 
| complex(real [,imag]) | 
						创建一个复数
					 | 
| str(x) | 
						转换对象x为字符串表示
					 | 
| repr(x) | 
						转换对象x为表达式字符串
					 | 
| eval(str) | 
						计算一个字符串,并返回一个对象
					 | 
| tuple(s) | 
						转换s为一个元组
					 | 
| list(s) | 转换s为一个列表 | 
| set(s) | 转换s为一个集合 | 
| dict(d) | 
						创建一个字典。 d必须是(键,值)元组序列
					 | 
| frozenset(s) | 
						转换s为冷冻集
					 | 
| chr(x) | 
						将一个字符转换为整数
					 | 
| unichr(x) | 
						Unicode字符转换为整数
					 | 
| ord(x) | 
						单个字符其转换为整数值
					 | 
| hex(x) | 
						十六进制字符串转换为整数
					 | 
| oct(x) | 转换整数成为八进制字符串 | 
