




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共7
3页目录/CONCENTS01第2页共7
3页Python概述02Python基本语法03Python数据结构04Python字符串05Python简单程序编写1.Python概述第3页共7
3页硬件语言面向过程的语言面向对象的语言net组件编程机器语言汇编语言F
O
R
T
R
ANBASICPASCALC计算机语言发展过程SmalltalkC+
十JavaPythonADU.
netVB.
netC#VC+
+
.
netJ2
EE第4页共7
3页Python语言由来Python的创始人为荷兰人Guido
vanRossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承.之所以选Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty
Python的飞行马戏团的爱好者.ABC是由Guido参加设计的一种教学语言.就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的.但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的.Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C
+和Java结合的非常好).同时,他还想实现在ABC中闪现过但未曾实现的东西.就这样,Python在Guido手中诞生了.第5页共7
3页Python语言由来可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响.并且结合了Unix
shell和C的习惯.实际上,Python的第一个版本实现是在Mac机上.(转自互联网)Python语言已诞生20多年了,正逐渐发展为主流程序设计语言之一,目前在TIOBE编程语言排行榜中长期占据第七、八的位次,近期又有上
升.目前,Python由世界各地的数十位程序员(包括van
Rossum)负责维护.Python的官方定义为:Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言.第6页共7
3页TIOBE
2015年8月编程语言排行榜
TOP
20榜单Aug2015Aug2014ChangeProgramming
LanguageRatings
Change12Java19.274%
+4.29%21C14.732%
-1.67%34C++7.735%
+3.04%46C#4.837%
+1.43%57APython4.066%
+0.95%63~Objective-c3.195% -6.36%78PHP2.729% -0.14%812Visual
Basic
NET2.708%
+1.40%910JavaScript2.162% -0.01%109Perl2.118%
-0.10%1111Visual
Basic1.781%
-0.23%1224Assembly
language1.760%
+1.11%1313Ruby1.416%
+0.17%1418DelphvObject
Pascal1.407%
+0.49%1521MATLAB1.232%
+0.50%1614F#1.232%
+0.14%1723Swit1.179%
+0.51%1815Pascal1.138%
+0.09%1920APL/SQL
第7页共7
3页1.137%
+0.35%Top
10语言的30十年变化Programming
Language
2015
2010
2005
2000
1995
1990
1985C
1
2
1
1
2
1Java
2
1
2
3C++
3
4
3
2
1
2
10Objective-
C4
11
40C#
5
5
9
9PHP
6
3
5
24Python
7
6
7
23
20JavaSaript
8
8
10
8Visual
Basic.NET
9Perl
10
7
4
4
8
17Pascal
18
14
36
14
3
10
6Lisp
26
16
14
8
6
4
2Fortran
30
24
15
18
4
3
5第8页共7
3页有人说:编写C程序就像一群人拿着剃刀在刚打过蜡的舞场内跳快舞.——Waldi
RavensC++:难学更难用,设计如此.——匿名·在很多方面,Java就是C++.——Michael
Feldman第9页共7
3页python语言特点程序设计语言在不断发展,从最初的机器语言、汇编语言
到后来的C、Pascal语言,发展到现在的C++、Java等高级编程语言.程序设计的难度在不断减小,软件的开发和设计已经形成了一套标准,开发工作已经不再是复杂的任务.最初只能使用机器代码编写程序,而现在可以使用具有良好调试功能的IDE环境编程.Python使用C语言开发,但Python不再有C语言中的指针等复杂数据类型.Python的简洁性使得软件的代码大幅度减少,开发任务进一步简化.程序员关注的重点不再是语法特性,而是程序所要实现的任务.·Python语言有许多重要的特性,而且有些特性是富有创造性的.第10页共7
3页Python语言特点-面向对象面向口象的程序□口解决了口构化程序口口的复□性,使得程序□□更口近口口生活.口构化程序口口把数据和口口混在一起,不便于程序的口口.面向口象的程序口口抽象出口象的行口和属性,把行口和属性分离开,但又合理地口口在一起.Python口言具有很口的面向口象特性,而且口化了面向口象的口口,它消除了保口口型、抽象口、接口等面向口象的元素,使得面向口象的概念更容易理解.第11页共7
3页Python语言特点-内置数据结构·Python提供了一些内置的数据结构,这些数据结构实现了类似Java中集合类的功能.内置数据结构的出现简化了程序设计.·Python的数据结构包括元组、列表、字典、集合等.·元组相当于“只读”的数组,列表可以作为可变长度的数组使用,字典相当于Java中的HashTable类型.第12页共7
3页Python语言特点-简单性·Python语言的关键字比较少,它没有分号、
begin、end等标记,代码块使用空格或制表键缩进的方式来分隔.·
Python的代码简洁、短小、易于阅读.·Python简化了循环语句,即使程序结构很复杂也能快速读懂.第13页共7
3页·Pytho n
提
供
了
异
常
处
理
机
制
, 能
捕
获
程
序
的异
常情
况
.
此
外Python
的
堆
栈
跟
踪
对
象
能
够指出程序出错的位置和出错的原因.·
异
常
机
制
能
够
避
免
不
安
全
退
出
的
情
况
, 同
时能
够
帮
助
程
序
员
调
试
程
序
.Python语言特点-健壮性第14页共7
3页Python语言特点-跨平台·Python
会先被编译为与平台相关的二进制代码,然后再解释执行.这种方式类似于Java,但
Python的执行速度提高了.·Python编写的应用程序可以运行在Windows、Unix、Linux等不同的操作系统上.在一种操作系统上编写的Python代码只需做少量修改,就可移植到其他的操作系统上.第15页共7
3页Python语言特点-可扩展、动态性可扩展性Python是采用C开发的语言,因此可以使用c扩展Python,可以给Python添加新的模块、新的类.同时
Python可以嵌入C、C++语言开发项目中,使程序具备脚本语言的特性.动态性Python与Javascript、PHP、Perl等语言类似,它不需要另外声明变量、直接赋值即可创建一个新的变量.第16页共7
3页Python语言特点-强类型、应用广泛强类型语言Python的变量创建后会对应一种类型,它可根据赋值表达式的内容决定变量的类型.Python在内部建立了管理这些变量的机制,不同类型的变量需要类型转换.应用广泛Python语言应用于数据库、网络、图形图像、数学计算、Web开发、操作系统扩展等领域.有许多第三方库支持Python.第1
7页共7
3页Download
the
latest
version
forWindowsDownload
Python
3.6.1
Download
Python2.7.13Wondering
which
version
to
use?
H
e
r
e
s
m
o
r
e
a
b
o
u
t
t
h
e
d
i
f
f
erence
between
Python2
and3
.Looking
for
Python
with
a
diferent
OS?
Python
forWindows,Lnux/
UNIX
MacOSX,
OtherWant
to
help
test
development
versions
of
Python?
Pre-releases1、访问Python下载页面
https://www.python.org/downloads/第18页共7
3页2
pythonPython下载About
Downloads
Documentation
CommunitySuccess
StoriesNewsEventsSodialize
SigninGO比较Python
2和Python
3Python
3发布于2008年底,是一次重大的升级.Python
3的有些改进不向后与Python
2兼容,因此Python
2始终与Python
3并行地向前发展.全面了解Python
3和Python
2之间的差异,可参阅What"sNew
in
Python
3.0().工具2to3()几乎能将任何Python
2程序自动转换为等价的Python
3程序.第19页共7
3页2.Python基本语法第20页共7
3页Python的编码规范1、
命名规则·
Python语言有一套自己的命名规则.命名规则并不是语法规定,只是一种习惯用法.变量名、模块名、包名通常采用小写,可使用下划线.例如:rulemodule.py#模块名,即文件名rule="rule
information"#_rule变量名,通常前缀有一个下划线的变量名为全局变量第21页共7
3页Python的编码规范(2)类名、对象名口首字母采用大写;口中的方法名首字母小写,其后的每个□口的首字母大写;口象名(口的口例)采用小写;□外引用其属性和方法名口,以口象名作口前口.口的私有口量、私有方法以两个下划口作口前口.第22页共7
3页classStudent:#类名大写name=
""#私有实例变量前必须有两个下划线#程序执行入口,相当于c++的main()函数#对象名小写(
))definit
(self,name):self.
name=
namedefreturn
self.#self相当于C++中的this#方法名首字母小写,其后每个单词的首字母大写if
__name_==
"
_main_
"student=
Student(
"
borphi"
(
student.getName:getN_a_me
(self
)
:namePython的编码规范(3)函数名函数名通常采用小写,并用下划口或口口首字母大写增加名称的可口性.口入的函数以模口名作前口.下例中,口演示口入函数前口写法,使用了生成随机数的模口random.□模口有一个函数randrange(),口函数可以根据口定的数字范口生成随机数.其声明口:randrange(
start,
stop[
,
step]
)口明:参数start表示生成随机数所在范口的开始数字.参数stop表示生成随机数所在范口的口束数字,但不包括数字stop.参数step表示步口.生成的随机数在[start,stop-1]的范口内,取口等于
start+step.第23页共7
3页Python的编码规范比较两个数的大小,数据由随机函数生成.随机数的范围在1-8之间选取.第24页共7
3页#函数中的命名规则importrandom#导入random模块#调用random模块的randrange()函数,返回随机defnum1
=random.
randrange(
1
,
9
)数pnruimn2t=
ra(n"donmu.m1ra=n"d,rnaunmg1e)(
1
,
9
("
num2=
",num2)print
(compareNum(num1,num2))#定义一个函数compareNum(),#比较大小,返回不同的结果#输出随机数#输出比较结果参数num1,num2为待比较的两个参数compareNum(
num1,
num2):if(
num1>num2):return
1elif
(
num1==num2):return
0else:return -
1Python的编码规范2
、 代
码
缩
进
与
冒
号口于C、C++、Java等口言,代口□□只是作口口程的一种良好口口.口于Python而言,代□□□是一种口法.Python口言中没有采用花括号或begin...end分隔代口口,而是使用冒号和代口□口区分代口之口的口次.第25页共7
3页Python的编码规范比较两个程序段并查看运行结果第26页共7
3页x=
1if
x==
1
:print("x=",x)else:print(
"x="
,x)x=x+
1print(
"x="
,x)执行结果:x=
1ifelse:x=x+
1x==1:print(
"x="
,x)print(
"x="
,x)("x="
,x)print执行结果:x=x=x=x=1211Python的编码规范3、模块导入的规范·模块是类或函数的集合,用于处理一类问题,使用任何Python模块都必须先导入.模块的导入使用import语句或from.im
port.语句.(1)import语句·例如:导入数学函数模块math,调用其中的函数.>>>
import
math>>>>>>
math.sqrt(5)第27页共7
3页math.sqrt(2)*math.tan(22)2.23606797749979>>>0.012518132023611912Python的编码规范(2)from..import…语句>>>
from
math
import
*>>>>>>log(25+5)3.4011973816621555>>>
sqrt(4)*sqrt(10*10)20.0使用第二种导入方式,在调用math模块中的任何函数时,都无需在前面加上“math.”.
使用第二种导入方式时,如果程序中的函数与math模块中的某个函数同名,将被math模块中的同名函数覆盖.第一种导入方式不会覆盖任何既有函数,但使用起来不如第二种方式简洁.还可以导入模块math的特定函数.例如:from
math
import
sqrt,tan只导入函数sqrt和tan.第28页共7
3页口量是口算机内存中的一口区域,口量可以存口任何口(也称指向),而且口可以改口.例如:fruit=
"cherry">>>
fruitcherry!>>>>>>cost=2.990.
1*cost+
5.990.29900000000000004>>>
1
.06
*
cost9.159400000000002Python变量第29页共7
3页andasassertbreakclasscontinuedefdelelifelseexceptexecFalsefinallyforfromglobalifimportinislambdanotNoneorpassprintraisereturntryTruewhilewithyieldPython变量1、变量命名规则口量名的口度不受限制,其中的字符必口是字母、数字或下划口(),不能使用空格、□字符、口点符号、引号或其他字符口量名的第一个字符不能是数字,必□是字母或下划口.Python区分大小写,因此TAX、Tax和tax是截然不同的口量名.不能将Python关口字(或称口保留口)用作口量名.例如:if、else、while、def、or、and、not、in和is都是Python关口字.第30页共7
3页x=5Xy="cat
!yPython变量第31页共7
3页2、赋值语句·格式:var=value左口 右
口□口运算符功能:定口新的口量;口已定口的口量指向特定口.>>>>>>5>>>>
>cat!>>>>>>cat!>>>cat!x=yXYPython变量3、多重赋值Python中,有一种便利的方法,能口同口口多个口量第32页共7
3页x,y,z=1,"two",3.0X>>
>>>>1>>>
Y"two">>>
Z3.0x,y,Z(1,"two",3.0).运算符示例加+>>>3+47减>>>5-32乘*>>>2*36除>>>3/21.5整除//>>>3//21求余
%
>>>25%31乘方
**
>>>3**327Python运算符与表达式Python的运算符包括算口运算符、关系运算符和口口运算符表达式是由数字或字符串和运算符口成的有意口的式子.1、算术运算符和算术表达式(1)整数运算名称第33页共7
3页Python运算符与表达式①运算顺序Python算术运算的规则与常规算术的规则相同.②长度不受限制
与其他大多数编程语言不同,Python对整数的长度没有限制,可以执行数十位甚至数百数千位的整数运算.如:27**100>>>
27**100136891479058588375991326027382088315966463695625337436471480190078368997177499076593800206155688941388250484440597994042813512732765695774566001>>>第34页共7
3页Python运算符与表达式(2)浮点数运算在Python中,浮点数是口小数点的数字.例如:-3.1、2.999和-4.0都是浮点数.所有适合用于整数的算口运算符都可用于浮点数,包括%(求余)和//(整除)>
>
> 3.8+-43.2-39.40000000000000630.416666666666668>>>
8.8**-5.47.939507629591553e-065.6//2>>>2.0>
>
>
5
.
6
%
3
.22.3999999999999995第35页共7
3页>>>6.3>>>12.61>>>12.6+0.01365.0/
1212.6*0.5关系运算符 关系表达式描述优先级<
x<y小于优先级相等;但优先级大于==和!=>
x>y大于<=
X<=Y小于等于>=
X>
=
Y大于等于=
=
x==Y等于优先级相等!=
x!=y不等于Python运算符与表达式2、关系运算符和关系表达式第36页共7
3页Python运算符与表达式例如:2
>
1相当于:3<=3
>1第37页共7
3页>>
>True>
>>True>>>False>>
>True>>>False>
>>True1+2<=3>5%21+2<3-11<=21!=21==2逻辑运算符逻辑表达式描述优先级andx
and
y逻辑与,当x为True时,才计算y优先级相等orx
or
y逻辑或,当x为False时,才计算ynotnot
x逻辑非优先级大于and和orqp
and
qporqnot
pFalseFalseFalseFalseTrueFalseTrueFalseTrueTrueTrueFalseFalseTrueFalseTrueTrueTrueTrueFalsePython运算符与表达式3、逻辑运算符和逻辑表达式基本逻辑运算符的真值表第38页共7
3页Python运算符与表达式4、三类运算符的优先级算术运算符优先级最高关系运算符优先级次之逻辑运算符优先级最低第39页共7
3页3.Python数据结构第40页共7
3页概述Python秉承方便程序员的理念,提供了几个功能强大而高效的数据结构:元组、列表、字典和集合.程序员可以根据需要组合使用它们,以创建更复杂的数据结构.在Python中,两个主力数据结构是列表和字典.列表按顺序存储数据,而字典就像小型数据库,使用键高效地存储和检索数据.第41页共7
3页元组元组是一种不可变序列,即创建之后不能再做任何修改.元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元组.元组通常代表一行数据,而元组中的元素代表不同的数据项.1、元组的创建格式:tuple=(元素1,元素2,..元素n)#定义n个元素组成的元组tuple=()#定义空元组tuple=(元素1,)#定义单元素元组第42页共7
3页#例7-1:创建元组,-6,
(1,2))item=(printprint"cat"(item)(
type(item))print(item[0],item[1],item[2】)"cat"
)(item)(
type
(item))(item[01)"cat"
,)(item)(
type
(item))(item[0])item=(printprintprintitem=(printprintprintitem=()printprint(item)(type
(item))()<class"tuple">(1,2))"tuple">-6(
1,2)执行结果:元组第4
3页共7
3页("cat",-6,<classcatcat<
classC("
cat",)<
classcat"tuple">"str">元组2、元组的访问
元组中元素的值通过索引访问,索引是一对方括号中的数字,索引也称为"下标".格式:tuple[n]#访问第n个元素tuple[m:n]#访问第1个索引到第2个索引之间的索引元素,但不包括第2个索引指向的元素·其中,n
、m可以为0、正、负整数.第4
4页共7
3页orangegrape("banana","grape")("apple",
"banana")(
)(("apple",
"banana"),fruit
[0][1]-
bananafruit[1][1]-
orangeTraceback
(
most
recent(grape",callorange"))1ast):File"D:/Users/zhang]1/Documents/python/2
0
1
5
Python语言编程导论/第7章数据结构/例7-访间第二个元组中的第3个元素,索引越界,报错西晋教育网址http://www.simplew第459页共73页2.py",n
mcne
91
i
odule>IndexError:
nttuple
index
t
out1
of
range
ruitprlii
("fru
i[][2]=",f [1](2】)#fruit1=(
"apple"
,"banana"
)print("fruit[1][1]=",fruit[1][1】)#print("fruit[1][2]=",fruit[1][21)#访问第一个元组中的第2个元素访问第二个元组中的第2个元素访问第二个元组中的第3个元素,索引越界,报错fru
it=(frui1t,fruit2)fruit2=
(
"
g
rape"
,
"orange
"
)元组#例7-2:访问元组的元素()][trtf#切片,从第2个到第3个元素,不包括第4个-
1,
i
,
,uprinfruti=
(a"pple""banana"
"grape"
"
orange")#切片,从第1个到倒数第2个元素,不包括倒数第2个#切片,从第3个到倒数第2个元素,不包括倒数第2个pr
n
rufruit
=f
[2:-2print(fruit[-2])fruit1
=
fruit[
1
:
3]fruit2=fruit[0:-2】printu((ifruti1t)2
)print(fruit3)print
(fruit)print
("fruit[0][1]="
,fruit[0][1])操作元组#例7-3:操作元组3)t1t2=
(1,=
(t1,"two"
,"four")printprint(t1+t2)((t1+t2)[3])print((t1+t2)[2:5])t3=("five"
(t1+t2+t3)(
1,"two",3,(
1,"two",3),"four"}(
1,"two",3)(3,(
1,"two",3),"four")(
1,"two",3,(
1,"two",3),"four","five"}#连接#索
引#
分
片#单元素元组元组第46页共7
3页列表·列表是Python中非常重要的数据类型,通常作为函数的返回类型.列表和元组相似,也是由一组元素组成.列表可包含任何类型的值:数字、字符串甚至序列.列表与元组的重要差别是列表是可变的,即可以在不复制的情况下添加、删除或修改列表元素1、列表的创.建格式:list=[元素1,元素2,…元素n]#定义n个元素组成的列表
list=[]#定义空列表list=[x]#定义只包含一个元素的列表,与元组不同,最后的逗号不是必须的说明:列表用方括号括起,其中元素用逗号分隔第47页共7
3页print
(
numbers1
(type
(numbers1))numbers2
=
[
7
(
numbers2
(type
(numbers2))numbers3
=
[
(
numbers3
(type
(numbers3))执行结果:[7,-7,2,3,2]创建列表#例7-5:创建列表numbers1
=[
7
,-
7
,
2
,
3
,
2
]<
class[7]<class[]<
class"list">"list">"list">列表第48页共7
3页列表2、列表的使用列表的使用与元组十分相似,同样支持负数索引、分片以及多元列表等特性,但列表的元素可修改.与字符串和元组一样,可使用len获取列表长度,还可使用+和*拼接列表.#例7-6:使用列表pnu
nbe
s=[
, -
7
,prrinmti
(
nunmbuemrsb+ernusmb)era)pr2i1
nt
(
numb
ers*
2
)lst=[3,
(1,),
"dog"print
(1st[O])print
(1st[1])print
(1st[2])print
(1st[1:3])print
(ist[2:])print
(lst[-3:])print
(1st[:-3])for
i
in
rnpr
int2,,(lae"3,"
cat"t)):n
d
=]")[7,-7,2,3,2][7,-7,2,3,2,7,-7,2,3,21[7,-7,2,3,2,7,-7,2,3,213(1,)dog[(1,),"dog"]["dog",
"cat"][(1,),"dog","cat"][3]#
3(
1,)dog
cate
(len第49页共7
3页函数返回值s.append(x)在列表s末尾处添加元素xs.count(x)返回元素x在列表中出现的次数s.extend(Ist)将lst的所有元素都添加到列表s末尾s.index(x)返回第一个x元素的索引s.insert(i,x)将元素x插入到索引i指定的元素前面,结果是s[i]=xs.pop(i)删除并返回s中索引为i的元素s.remove(x)删除s中的第一个x元素s.reverse(x)反转s中元素的排列顺序s.sort()将s的元素按升序排列列表3、常用列表函数第50页共7
3页列表在列表末尾添加元素或列表#例7-7:在列表末尾添加lst=["apple",
"banana",print
(1st)Ist.append(
"watermelon""grape",
"orange"])
#在列表末尾添加一个元素,
"pear"]print1st2=[print(1st)"strawberry"(1st2)) #
将
1st2列表的所有元素添加到1st列表末尾lst.
extend(
1st2print
(1st)执行结果:第51页共7
3页["apple","banana","grape","orange"]["apple","banana","grape","orange","watermelon"]["strawberry","pear"]["apple","banana","grape","orange","watermelon","strawberry","pear"l字典字典是Python重要的数据类型,字典是由“键一值"对组成的集合,字典中的“值”通过“键”来引用.字典也称为关联数组、映射或散列表.Python字典利用了“散列”方法,使用专门的散列函数完成,即字典中的每个键都被转换为一个数字一散列值.字典中值存储在一个底层列表中,并用散列值作为索引.访问值时,将提供的键转为散列值,再跳到列表的相应位置.使用“键”来访问字典值效率极高.另外与列表一样,字典也是可以改变的:可以添加、删除或修改“键一值”对.1、创建字典·格式:dictionary={key1:value1,key2:value2,..,keyn:valuen)}#创建n个“键一值”对组成的字典dictionar={}#创建空字典注意,对于字典的键有两个限制:-字典中的键必须独一无二,即在同一个字典中,任何两个键一值对都不能相同;键必须是不可变的.因此,字典键不能是列表、字典对值没有这两个限制.第52页共7
3页字典2、字典的访问·字典的访问与元组、列表有所不同,元组和列表是通过数字索引获取对应的值,而字典格式:value=dict[key]说明:-字典的添加、删除和修改只需执行一条赋值语句即可,例如:dict[’x"]="value"-字典没有remove操作.删除字典元素可调用内置函数del()完成.第53页共7
3页printdict[print(
dict
)"w
"]="watermelon
"
#添加字典元素(
dict
)del(dict["a"])#
删除字典中键为"a"的元素(
dict
)"g"]="grapefruit"
#修改字典中键为"g"的值printdict[print(
dict
)执行结果:("b":"banana","o":"orange","a":"apple","g":"grape"}("b":"banana","o":"orange","a":"apple","w":"watermelon","g":"grape"}("b":"banana","o":"orange","w":"watermelon","g":"grape"}("
b":"
banana","
o":"
orange","
w":"
watermelon","g":"grapefruit"l字典字典的创建、添加、删除和修改#例7-19:字典的创建、添加、删除和修改
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}#创建字典第54页共7
3页字典3、字典函数函数名返回的值d.item()返回一个由字典d的键一值对(key,value)组成的视图(view)d.keys()返回一个由字典d的键组成的视图d.value()返回一个有字典d的值组成的视图d.get(key)返回与key相关联的值d.pop(key)删除键key并返回与之相关联的值d.popitem()删除字典d中某个键一值对并返回相应的键一值对d.clear()删除字典d的所有元素d.copy()复制字典dd.fromkeys(s,t)创建一个新字典,其中的键来自s,值来自td.setdefault(key,v)如果键key包含在字典d中,则返回其值;否则返回v并将(key,v)添加到字典
d中d.update(e)将e中的键一值对添加到字典d中;e可能是字典,也可能是键一值对序列第5
5页共7
3页,
"d"
:
"
orange"}dict
keys(
[
"
b"
,
"
a"
,
"
d"
,
"
c"
]
)dict
values(
[
"
banana"
,
"
apple"
,
"
orange"
,
"
grape"
]
)grapeNone("b":"banana","a":"apple"}("d":"orange","c":"grape"}("b":"banana","a":"apple","d":"orange","c":"grape"}字典#例7-20:字典函数的应用
#创建字典dict={"a":"apple","b":"banana","c":"grape","d":"orange"}#输出keys的列表print
(
dict
,keys())#输出value的列表print
(dict
.values())#获取字典中的元素print
(
dict
.get("c"))print
(dict
.get("
e
"))#字典的更新dict
1=("a":"apple","b":"banana"}第56页共7
3页printdict2=print(dict
1){"c"
:
"grape"(
dict2)dict
1.update(dict2)print(dict
1)集合在Python中,集合是一系列不重复的元素.集合类似于字典,但只包含键,而没有相关联的值.在Python中,集合是相对较新的功能,在其还不支持集合时,
一般使用字典模拟集合.
集合分两类:可变集合(set)和不可变集合(frozenset).对于可变集合,可添加和删除元素,而不可变集合一旦创建就不能更改.与字典一样,集合的元素排列顺序也是不确定的.集合没有列表和字典用得多,本章简要介绍,详细内容可参阅:https:///3/library/stdtypes.html#set集合基本功能:包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交),
difference(差)和sysmmetric
difference(对称差集,即异或)等数学运算.大括号或set()函数可以用来创建集合.注意:想要创建空集合,必须使用set()而不是{}.第57页共7
3页集合创建集合#例7-24:创建集合=["apple","orange","apple",(
basket)(type
(basket))"set
(basket)createabasketprintprintfruitprintprint(
fruit)(
type
(fruit)))#print(print("orange"
in
fruit"crabgrass"
infruit
)执行结果:第58页共7
3页set
without
duplicates"pear","orange","banana"]fastmembershiptesting["apple","orange","apple","pear","orange",<class
"list">(
"
apple"
,
"
orange"
,
"
pear"
,
"banana"}<class
"set">TrueFalse"banana"]print
(a
I
b)#
letterseitheraorb#
lettersbothaand
b#并运算print
(
a
&
b)#异或运算print
(a ^
b)#
lettersna
orb
but
not
bothset("abracadabra")a
=b
=
setprint(
a)("alacazam"
)#
uniqueprint
(b)#
uniqueletters
inlettersin#差运算
print(a
-
b)#
letters
in
a#或运算执行结果:""b
""
,"c","m")(("
b","
r,"
,"
d")"
"(b","z","c","d","m","r","a","1"}Ya","
c"}("b","z","d","m","r","1}not
in
b"
","
c"
,
"
)z"d"a"集合集合操作#例7-25:集合运算butaainiin4.Python字符串第60页共7
3页字符串在Python中,字符串是除数字外最重要的数据类型.字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分是由文本组成的.第61页共7
3页字符串是一种聚合数据结构,可充分利用索引和切片一用于从字符串中提取子串.而Python正则表达式库,是一种用来处理字符串的微型语言,但功能强大.Python中,字符串、列表和元组都属于序列.序列有一些通用的操作.包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)、检查某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小元素等.字符串1、索引序列中的所有元素都是有编号的一从0开始递增.这些元素可以通过编号分别访问.索引有正索引和负索引,可根据实际情况选用.字符串就是一个由字符组成的序列,处理字符串时,经常需要访问其中的各个字符.索引0指向第1个字符.字符串"apple"的正索引和负索引
S[0]
S[1]
S[2]
S[3]
S[4]第62页共7
3页-2-1。S-5-3-4S[-5]
S[-4]
S[-3]
S[-2]S.01234APPLE字符串字符串索引应用#例6-1:字符串索引应用s=
"apple"for
i
in
range
(
len(s)):print(s[1],end=""
)printfor()i
inrange
(len(s)):print(s[-
(1+1)1,end=""
)执行结果:appleelppa第63页共7
3页字符串2、分片与使用索引访问单个元素类似,可以使用分片操作来访问一定范围内的元素.分片是实际应用中经常使用的技术,被截取的部分称为“子串”Python
3支持的分片格式为:S[i:j:k]表示:索引S对象中的元素,从索引为i直到索引为j-1,每隔k个元素索引一次,第三个限制k为步长,默认为1,也可以使用负数作为步长,步长-1表示分片将会从右至左进行而不是通常的从左至右,实际效果主是将序列反转.在Python中,还可以使用split()函数来截取字符串.#例6-3:字符串分片d"i
t(
d[0:5p"pri
n
t
(
food[
6
:
9
]
(food[:5])oa
oplepfo符ir
nt(fo
dn
1:步长截取#将整个#从字符串逆序排列1])#从第1个字符开始,以2为步长截取字第2个字符开始,以2为print(food[
::2])d[p
opra
p
p
lepieapepeprint
(
food[
-
3
:
0
]
)pprrii
ntt(
(
food[-
3-
:
]]))::
4
)(
food[print
(food[6:】)f
ood
9
-pl
ieip页共7
3页pieapplepieappleappleelppa字符串·3、序列相加(字符串连接、合并)之前介绍过,使用“+”完成.除此之外,还可以使用join函数和reduce函数实现字符串的合并.注意:不同类型的数据不能相加.如:>>>"Hello,"+"world!""Hel
1o,world!"4、乘法用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列被重复x次.·如:第65页共7
3页字符串5、成员资格为了检查一个值是否在序列中,可以使用in运算符.该运算符检查某个条件是否为真,若为真返回True,否则返回False.例如:>
>
>
permi
ssions=
"rw>>>"
w"inpermissionsTrue>>>"
x"inpermissionsFalse>>>
len("Hello
world!")6、长度、最小值和最大值len、min和max
都是内置函数.
12len-返回序列中包含的元素个数.>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络信息安全技术课件 第9章 入侵检测与响应
- 2025年人教部编版新教材语文一年级下册第二次月考试题及答案(一)
- 人教陕西 九年级 下册 语文 第五单元《 屈原(节选)》习题课课件
- 采购部经理年度工作总结
- 七年级数学苏科版下册第七单元《7.1探索直线平行的条件》教学设计教案1
- 高中语文第四册雷雨(节选)2旧人教版(第二课时)
- 高中语文必修3足不出户知天下 同步练习 积累运用
- 三年级数学北师大版上册 第六单元《6.4去奶奶家》教学设计 教案1
- 人教版小学四年级英语下册Unit1单元测试卷2带答案
- 体检分包合同范例
- 2025年中储粮集团公司招聘笔试参考题库含答案解析
- 保护母亲河日关爱河湖保护母亲河保卫黄河课件
- 物业高压配电室培训
- 广西2025届高三第二次调研英语试卷含解析
- 2023年辽宁省中考试卷(语数英物化等共9套)带答案解析
- 安全生产管理制度-普货运输
- DB41T 1508-2017 化妆刷标准规范
- 精神病医院医保培训
- 复工复产六个一方案模板
- 脑出血恢复期的中医护理查房课件
- 2024河南中烟南阳卷烟厂一线岗位招聘10人高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论