文档内容
《信息技术》三色速记手册
函数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《信息技术》三色速记手册
Python支持成员运算符in与not in,测试实例中包含了一系列的成员,包括字符串、列
表或元组。如下表所示(设a = 10,b = 2,list = [1, 2, 3, 4, 5 ])。
运算符 功能 描述 实例
如果在指定的序列中找到值 x 在 y 序列中, 如果 x 在 y >>>a in list
in
返回True,否则返回 False。序列中返回 True。 False
如果在指定的序列中没有找
x 不在 y 序列中 , 如果 x >>>b not in list
not in 到值返回 True,否则返回
不在 y 序列中返回 True。 F
False。
7.身份运算符
身份运算符用于比较两个对象的存储单元。如下表所示(设a = 10,b = 2)。
运算符 功能 描述 实例
判断两个标识符是不是 x is y, 如果引用的是同一个对象则 >>>a is b
is
引用自一个对象 返回 True,否则返回 False False
x is not y,如果引用的不是同一个
判断两个标识符是不是 >>>a is not b
is not 对象则返回结果 True,否则返回
引用自不同对象 True
False。
8.运算符优先级
Python运算符优先级从高到低优先级如表所示:
运算符 描述
** 指数 (最高优先级)
~ 按位翻转
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is,is not 身份运算符
in,not in 成员运算符
And, or,not 逻辑运算符
(六)常用函数
1.数学函数
Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。Python math 模块提
72《信息技术》三色速记手册
供了许多对浮点数的数学运算函数,Python cmath 模块包含了一些用于复数运算的函数。
要使用 math 与 cmath 函数必须先导入,即import math或import cmath。
注:abs() 是内置函数。fabs()函数在math模块中定义,因此使用时需加上模块名,如
math.fabs(-10);fabs()函数只对浮点型与整型数值有效,abs()还可以运用在复数中。
2.随机函数
Python中的随机数函数在random模块中,常用随机函数有choice()、random()、uniform(x,
y),如下表所示。
函数 返回值 ( 描述 ) 实例
从序列的元素中随机挑选一个 random.choice(range(10)),
choice(seq)
元素 从0到9中随机挑选一个整数。
随机生成一个[0,1)范围内实 random.random() 返回
random()
数 0.6003201726746711
随机生成一个[x,y]范围内实 random.uniform(10, 20)
uniform(x, y)
数 返回18.7356606526
3.字符串函数
字符串函数实现在string模块中,所有的方法都包含了对Unicode的支持。常用字符串函
数如下表所示。
方法 描述
检测 str 是否包含在 string 中,如果 beg 和 end
find(str, beg=0,
指定范围,则检查是否包含在指定范围内,如果是返
end=len(string))
回开始的索引值,否则返回-1
以 string 作为分隔符,将 seq 中所有的元素(的字
string.join(seq)
符串表示)合并为一个新的字符串
split(str="", 以 str 为分隔符切片 string,如果 num 有指定值,
num=string.count(str)) 则仅分隔 num+ 个子字符串
73《信息技术》三色速记手册
string.lstrip() 截掉 string 左边的空格
replace(str1, 把 string 中的 str1 替换成 str2,如果 num 指
str2, num=string.count(str1)) 定,则替换不超过 num 次.
根据 str 给出的表(包含 256 个字符)转换 string
translate(str, del="")
的字符,要过滤掉的字符放到 del 参数中
lower() 转换 string 中所有大写字符为小写
upper() 转换 string 中的小写字母为大写
5.输入输出函数
(1)输入函数
Python提供了input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘。input
可以接收一个Python表达式作为输入,并将运算结果返回。
例:
str = input("请输入:")
(2)输出函数
Python常用输出函数为print(),它可以输出字符串,格式化输出整数与浮点数,输出列
表等。
常用Python字符串格式化符号如下表:
符号 描述 符号 描述
%c 格式化字符及其ASCII码 %f 格式化浮点数字,可指定小数点后的精度
%s 格式化字符串 %e 用科学计数法格式化浮点数
%d 格式化整数 %E 作用同%e,用科学计数法格式化浮点数
%u 格式化无符号整型 %g %f和%e的简写
%o 格式化无符号八进制数 %G %f 和 %E 的简写
%x 格式化无符号十六进制数 %p 用十六进制数格式化变量的地址
格式化无符号十六进制数(大
%X
写)
74