Python基础教程(四)
Python 数字
Python 数字数据类型用于存储数值。
数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间。
以下实例在变量赋值时数字对象将被创建:
1 | var1 = 1 |
您也可以使用del语句删除一些数字对象引用。1
2del var
del var_a, var_b
Python 支持四种不同的数值类型:
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数( (complex numbers)) - 复数的虚部以字母J 或 j结尾 。如:2+3i
Python数字类型转换
1 | int(x [,base ]) 将x转换为一个整数 |
Python 字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
1 | var1 = 'Hello World!' |
Python访问字符串中的值
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串,如下实例:
1 | #!/usr/bin/python |
结果为:1
2var1[0]: H
var2[1:5]: ytho
Python字符串更新
你可以对已存在的字符串进行修改,并赋值给另一个变量,如下实例:
1 | #!/usr/bin/python |
以上实例执行结果1
Updated String :- Hello Python
字符串运算符
下表实例变量a值为字符串”Hello”,b变量值为”Python”:
1 | + #字符串连接 a + b 输出结果: HelloPython |
Python 列表(Lists)
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
1 | list1 = ['physics', 'chemistry', 1997, 2000]; |
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
1 | #!/usr/bin/python |
以上实例输出结果:1
2list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
1 | #!/usr/bin/python |
注意:我们会在接下来的章节讨论append()方法的使用
以上实例输出结果:1
2
3
4Value available at index 2 :
1997
New value available at index 2 :
2001
删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
1 | #!/usr/bin/python |
结果为:1
2
3['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
注意:我们会在接下来的章节讨论remove()方法的使用
Python 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
如下实例:
1 | tup1 = ('physics', 'chemistry', 1997, 2000); |
创建空元组1
tup1 = ();
元组中只包含一个元素时,需要在元素后面添加逗号1
tup1 = (50,);
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
访问元组
元组可以使用下标索引来访问元组中的值,如下实例:
1 | #!/usr/bin/python |
以上实例输出结果:1
2tup1[0]: physics
tup2[1:5]: (2, 3, 4, 5)
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
1 | #!/usr/bin/python |
以上实例输出结果:1
(12, 34.56, 'abc', 'xyz')
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
1 | #!/usr/bin/python |
以上实例元组被删除后,输出变量会有异常信息,输出如下所示:1
2
3
4
5
6('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Python 字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
1 | d = {key1 : value1, key2 : value2 } |
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:1
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:1
2dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
访问字典里的值
1 | #!/usr/bin/python |
以上实例输出结果:1
2dict['Name']: Zara
dict['Age']: 7
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
1 | #!/usr/bin/python |
以上实例输出结果:1
2dict['Age']: 8
dict['School']: DPS School
删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
1 | #!/usr/bin/python |
但这会引发一个异常,因为用del后字典不再存在:1
2
3
4
5dict['Age']:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:1
2
3
4
5#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print "dict['Name']: ", dict['Name'];
以上实例输出结果:1
dict['Name']: Manni
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:1
2
3
4
5#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
结果为:1
2
3
4Traceback (most recent call last):
File "test.py", line 3, in <module>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable