文档内容
《信息技术》三色速记手册
函数str(obj)可把obj对象转换为字符串,
例如:
>>> str(5)
'5‘
3.List(列表)
列表是指包括0个或者多个对象元素引用的有序序列。对象元素的数据类型可以不同。列表
同样可以包含列表。
(1)创建一个列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
(2)访问列表中的值
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。使用下标索引来访
问列表中的值,同样也可以使用方括号的形式截取字符,如下所示:
print("list1[0]: ", list1[0])
print( "list2[1:5]: ", list2[1:5])
输出结果:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
(3)更新列表
可对列表的数据项进行修改或更新,例如:
list3 = ["a", "b", "c", "d"]
list3[2]= "yes "
print(list3)
输出结果为:
["a", "b", "yes", "d"]
也可以使用append()方法来添加列表项,例如:
list3 = ["a", "b", "c", "d"]
list3. append("e")
输出结果为:
["a", "b", "c", "d","e"]
(4)删除列表元素
可以使用 del 语句来删除列表的元素,如下例:
print(list3)
del list3[2]
print "After deleting value at index 2 : "
print(list3)
输出结果:
["a", "b", "yes", "d"]
After deleting value at index 2 :
65《信息技术》三色速记手册
["a", "b", "d"]
(5)把一个可迭代对象转换为列表
迭代(iterate)是指按照某种顺序逐个访问列表中的每一项。能用for循环进行迭代的对
象就是可迭代对象,字符串、列表、元组、字典、集合等都是可迭代对象。
函数list([iterable])可把一个可迭代对象转换为列表。例如:
>>>a='hello'
>>>list(a)
['h', 'e', 'l', 'l', 'o']
4.Tuple(元组)
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使
用方括号。
(1)创建一个元组
创建一个元组,只需要在括号中添加元素,并使用逗号隔开即可。如下所示:
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" # 不使用括号也可以给元组赋值
创建空元组,如tup1=()。若元组中只包含一个元素时,需要在元素后面添加逗号。例如:
tup1 = (50,)。
(2)访问元组中的值
与字符串的索引一样,元组索引从0开始。元组可以进行截取、组合等。使用下标索引来访
问元组中的值,同样也可以使用方括号的形式截取元组,如下所示:
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
上例输出结果:
tup1[0]: physics
tup2[1:5]: (2, 3, 4, 5)
(3)修改元组
元组中的元素值是不允许修改的,以下修改元组元素操作非法:
tup1[0] = 100
但可以对元组进行连接组合,如下例:
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print (tup3)
上例输出结果为:
(12, 34.56, 'abc', 'xyz')
(4)删除元组
元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组,如下例:
tup = ('physics', 'chemistry', 1997, 2000)
print (tup)
del tup
print ("After deleting tup : ")
print (tup)
上例输出结果为:
66《信息技术》三色速记手册
('physics', 'chemistry', 1997, 2000)
("After deleting tup : "
Traceback (most recent call last):
File "", line 1, in
NameError: name 'tup' is not defined
元组被删除后,输出变量会有元组没有定义异常信息提示。
(5)把一个可迭代对象转换为元组
函数tuple([iterable])可把一个可迭代对象转换为元组。例如:
>>> a=[1,2,3,4,5]
>>> tuple(a)
(1, 2, 3, 4, 5)
5.Dictionary(字典)
(1)访问字典里的值
把相应的键放方括弧即可访问该键对应的值,例如:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
输出结果为:
dict['Name']: Zara
dict['Age']: 7
如果用字典里没有的键访问数据,会输出错误。
(2)修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对,例如:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8 # 更新
dict['School'] = "PYTHON" # 添加
(3)删除字典元素
使用del命令可删字典的某一元素,也能清空字典。
例如:
del dict['Name'] # 删除键是'Name'的条目
dict.clear() # 清空字典所有条目
del dict # 删除字典
(4)列表转换为字典
使用内置函数zip(),可以将两个列表转换为字典。
例如:
a = ['name', 'age', 'sex']
b = ['Dong', 38, 'Male']
c = dict(zip(a, b) #以列表a中的元素为“键”,以列表b中的元素为“值”,转换为字
典。
6.Set(集合)
集合(set)是一个无序的不重复元素序列。集合中的元素必须是不可变类型。集合创建可
以使用大括号 { } 或者 set() 函数,格式如下:
parame = {value01,value02,...}或者set(value)
例如:
67《信息技术》三色速记手册
>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>>basket
{'apple', 'orange', 'pear', 'banana'} #集合中的元素不可重复,都是不同的
>>> set_test = set('hello')
>>> set_test
{'h', 'l', 'e', 'o'}
创建一个空集合必须用 set()(备注:可以用列表),因为{ }是用来创建一个空字典。
由于集合的元素是无序且不重复的,因此不能像列表、元组一样通过索引访问集合的元素。
对集合元素的访问可以使用成员操作符in或not in来判断某元素是否在集合中。
(四)变量与常量
1.变量
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被
创建。在 Python 中,变量就是变量,它没有类型。一个变量可以通过赋值指向不同类型
的对象。
(1)变量赋值
等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,右边是存储在变量中的
值。例如:
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "Python" # 字符串变量
上例分别定义一个整型变量counter、一个浮点型变量miles、一个字符串变量name,它们
分别赋值为100、1000.0和"Python"。
Python的赋值(=)是引用赋值,赋值语句建立对象引用值。
赋值操作不会开辟新的内存空间,它只是复制了新对象的引用。
对于可变数据类型,赋值后,更改一个变量的值时,另一个同样会变。
当把一个变量赋值给另一个变量时,被赋值的变量与赋值变量指向同一个对象,在内存当
中用的都是同一块地址。
例如:
>>>a=[1, 2, 3]
>>>b=a
>>>b.append(4)
语句操作过程与结果,如图所示。
但是,对于不可变数据类型,如整型变量,赋值后,更改一个变量的值,另一个变量不会变
化,原因是变量值改变的同时地址也发生了改变,并不影响另一个地址中的变量值。例如:
>>>a=3
>>>b=a
68《信息技术》三色速记手册
>>>b=4
语句操作过程与结果,如图所示。
(2)多个变量赋值
Python允许同时为多个变量赋值。例如:
a = b = c = 1
上例创建了一个整型对象,值为 1。从后向前赋值,三个变量被赋予相同的数值,即指向
同一个对象。也可以为多个变量指定多个对象。例如:
a, b, c = 1, 2, "Python"
上例一共创建了3个对象。创建了两个整型对象1和2,分配给变量 a 和 b;创建了一个
字符串对象 "Python" 分配给变量c。
2.常量
Python并未提供如C/C++/Java一样的const修饰符,即Python中没有常量,Python程序
一般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现
常量,其对应的值仍然可以被改变。
Python实现常量的方法是:用自定义类实现常量。该自定义类要求符合“命名全部为大写”
和“值一旦被绑定便不可再修改”这两个条件。Python中已定义的数学常量有pi与e,如
下表所示。
(五)运算符与表达式
表达式是运算符和操作数所构成的序列。表达式的结果是一个值,是一个Python对象。
Python运算符用来操作变量,支持以下类型的运算符:赋值运算符、算术运算符、比较(关
系)运算符、逻辑运算符、位运算符、成员运算符、身份运算符。
1.赋值运算符
Python语言共提供了8 个赋值运算符,均为二元运算符,其中仅有一个为基本赋值运算符,
69《信息技术》三色速记手册
其余7个均是复合赋值运算符。如下表所示。
2.算术运算符
算术运算符是完成基本算术运算的符号。如下表所示(假定a=10,b=20)。
运算符 名称 描述 实例
+ 加 两个对象相加 a + b 输出结果 30
得到负数或是一个数减去
- 减 a - b 输出结果 -10
另一个数
* 乘 两个数相乘 a * b 输出结果 200
/ 浮点数除 返回浮点结果 b / a 输出结果 2
% 取模 返回除法的余数 b % a 输出结果 0
a**b 为10的20次方, 输出结果
** 幂 返回x的y次幂
100000000000000000000
// 整数除 返回商的整数部分 9//2输出结果4
3.比较运算符
Python有7种比较运算符。所有比较运算符返回1表示真,返回0表示假,与特殊变量True
和False等价。如下表所示(假设变量a为10,变量b为20)。
运算符 名称 描述 实例
== 等于 比较对象是否相等 (a == b) 返回 False
!= 不等于 比较两个对象是否不相等 (a != b) 返回 True
<> 不等于 比较两个对象是否不相等 (a <> b) 返回 True
> 大于 返回x是否大于y (a > b) 返回 False
< 小于 返回x是否小于y (a < b) 返回 True
>= 大于等于 返回x是否大于等于y (a >= b) 返回 False
<= 小于等于 返回x是否小于等于y (a <= b) 返回 True
70《信息技术》三色速记手册
注:python2中不等于可以是 <>。
4.逻辑运算符
Python语言支持三种逻辑运算:布尔与、或、非。其运算结果不是简单的True和False,
与、或运算返回计算值,False为零,True为非零。如下表所示。
运算 名 逻辑表达
描述 实例
符 称 式
(1 and 2) 返回2
如果 x 为 False,x and y 返回
(-1 and 2) 返回2
False,否则它返回 y 的计算值。
(0 and 2) 返回0
and 与 x and y 即:
(如果x为0fasle,返
x(False) and y 返回 False(0)
回x,如果xtrue,返
x(True) and y返回 y
回y)
如果 x 是非 0,它返回 x 的值,否
则它返回 y 的计算值。即: (1 or 2) 返回1
or 或 x or y
x(True) or y 返回x (0 or 2) 返回2
x(False) or y 返回y
如果 x 为 True,返回 False 。如
not -1 返回 False
果 x 为 False,它返回 True。即:
not 非 not x not 0 返回 True
not x(True) 返回 False
not 1 返回 False
not x(False) 返回True
5.位运算符
按位运算符是把数字看作二进制来进行计算的。如下表所示(a 为 60,b为 13,二进制分
别为0011 1100,0000 1101)。
运算符 名称 描述 实例
按位与 参与运算的两个值,如果两个相应位都 (a & b) 输出结果 12 ,二
&
运算符 为1,则该位的结果为1,否则为0 进制为: 0000 1100
按位或 只要对应的二个二进位有一个为1时, (a | b) 输出结果 61 ,二
|
运算符 结果位就为1。 进制为: 0011 1101
按位异或 (a ^ b) 输出结果 49 ,二
^ 当两对应的二进位相异时,结果为1。
运算符 进制为: 0011 0001
(~a) 输出结果 -61 ,二进
按位取反 对数据的每个二进制位取反,即把1 变 制为: 11000011, 在一个
~
运算符 为0,把0变为1。~x类似于 -x-1。 有符号二进制数的补码形
式。
运算数的各二进位全部左移若干位,由
左移动 a << 2 输出结果 240 ,二
<< "<<"右边的数指定移动的位数,高位丢
运算符 进制为: 1111 0000
弃,低位补0。
把">>"左边的运算数的各二进位全部右
右移动 a >> 2 输出结果 15 ,二进
>> 移若干位,">>"右边的数指定移动的位
运算符 制为: 0000 1111
数
6.成员运算符
71