第三章Python语法基础_第1页
第三章Python语法基础_第2页
第三章Python语法基础_第3页
第三章Python语法基础_第4页
第三章Python语法基础_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章Python语法基础

Python是•种面向对象、解释型的计算机程序设计高级语言,其语法简洁清晰,方便对

数据进行组织和处理;具有丰富和强大的库,可以支持很多日常问题的程序实现。因其解释

性语言的本质,Python在大多数平台上都是一种理想的脚本语言,特别适合应用程序的快速

开发。

一、编译与解释

编译:将源代码一次性转为机器代码,而后将不再需要源代码,(C/C++,Java)

解释:将源代码逐条转为机器代码同时逐条运行,每次都需要重新从源代码执行(PythonFHP)

二、数据类型和表达式

LPylhon基本数据类型

数据类型名描述

整数类型(int)数学中的整数,如2,-8,。等

十六进制前缀Ox或0X。例:hex(10)=Ox"

浮点类型(floa【)数学中的实数,如10.0、1.0e・2(=l*l(y2即科学计数法)

字符串型(sir)字符串可以用单引号、双引号、三引号标识。

布尔类型(Bool)只有True和False两个值

2.Python运第符

(1)算数运算符

算数运算符功能和作用示例优先级

()小括号略0(最高)

**鼎运算2**3=81

-(负号)、+(正号)符号-3**2=-93

*、/、〃、%乘,除,整除,取余整除:不大于除法结果的最大整数4

取余:x%y=x-y(x//y)

+、-加法、减法略5

(2)位运算符

位运算符功能和作用示例优先级

〜按位取反~n=-n-12

&按位行0bllll&0bl010=0bl0106

A按位异或0bllllA0bl010=0b01017

1按位或0bllll|0bl010=0bllll8

(3)关系和逻辑运算符

运算符功能和作用示例优先级

V、>、==、关系运算符l<a<=3和l<aanda<=3等价9

<=、>=、!=

in、notin存在性判断"a"in"abc"结果为True1()

not非notFalse结果为True11

and与TrueandFalse结果为False12

or或TrueorFalse结果为True13

3.变量和赋值语句

(1)变量:程序中有些数据是未知或是可变的,为了灵活的使用这些数据,可以使用变量进行

存储。变量命名时需要遵循一些基本规则:变量名只能由数字,字母和下划线(英文)构成:

变量名不能用数字开头;变量名区分大小写:变量名不能和保留字相同;

这里特别需要指出:

①Python变量名支持中文字符,但考虑兼容性•般不建议使用

②Pyd)on是动态类型语言,因此在使用前不需要预先声明变量的数据类型

③Python共有35个保留字,这些不可以被作为变量名使用。

andelifimportraiseglobal

aselseinreturnnonlocal

assertexceptistryTrue

breakfinallylambdawhileFalse

classfornotwithNone

continuefromoryieldasync

defifpassdelawait

(2)赋值语句:赋值语句的基本格式为:

变量=表达式

赋值就是将等式右边表达式的结果传递给左边的变量。常见的赋值语句:

类型示例说明

常规赋值a=1创建变量a并赋值为1,a为整数类型

a="a"a重新赋值为“a",a为字符串类型

增量赋值a=1a+=1等价于a=a+l

a+=1相似的还有"匚”等

多变量赋值a,b=1,2等价于a=l;b=2

a’b=b'a实现了两数交换

链式赋值a=b=1变量a,b都赋值为1

(3)表达式:由变量、常量、运算:符按一定规则组合构成的式子

①表达式中存在多种运算符时,按优先级运算,优先级相同则从左到右

②Pylhon中认为“0”(数值0)、(空字符串)和False等价,非零数和非空字符串和True等价

③字符串比较时,比较的是两者的ASCII码值,从左到右逐位比较。例"123“<“23"=True

④数值类型的运算结果保留更精确的值。例1+2.0=3.0

三、基本数据结构

1.字符串(str)

(1)字符串是一种由字符构成的线性表结构。一般使用单引号('1、双引号(")或三引号(“')

来创建字符串。其中单引号和双引号只能创建的单行字符串,三引号的字符串可以换行。字

符串创建之后就无法更改。

(2)字符串可以通过索引取值。索引有正索引和负索引两种。

正索引0123456

字符串s“这是一个字符串”

负索引-7-6-5-4-3-2-1

①通过索引取单个字符,正负索引都可以使用。例如取字符“这“,s⑼和s[・7]结果相同。

②通过切片取多个字符,切片发式为

字符串对象—[start:stop:step)

切片从索引值为start的字符开始,根据step(步长)递增,直到索引stop结束,结果不包含

stop索引。start和stop可以省略,步长step省略时默认为1。

例:s[2:4]="一个";s[-3:]="字符串";s[-3:-7:-2]="字一";"串符字个一是这"

⑶字符串常用操作方法

操作功能

s.upper()将字符串的全部小写字母转大写字母

s.lower()将字符串的全部大写字母转小写字母

s.split(str="")根据sir分割字符串s,默认为空格,返回值为列表类型

s.stripO去除字符串s两边的空格

(item)以str作为分隔符,将item中所有■的元素合并为一个新的字符串

s.isupper()判断字符串s中出现的字母全是大写字母

s.islower()判断字符串s中出现的字母全是小写字母

s.isalpha()判断字符串s仅由字母构成

s.isdigit()判断字符中8仅由数字字符组成

s.isalnum()判断字符串$不包含除字母和数字之外的其他字符

s.find(str)在字符串中s找sir第一次出现的索引

s.rcplacc(old,ncw[,num])将字符串中的old替换为new,最多替换num次

除此之外,字符串还可以支持部分算数运算

"a"+"b"=',ab"字符串连接

"a"*3="aaa"先受制再连接

"ad"in"abed"=False判断是否为子串

【注意】字符串一旦创建前L无法更改,以上所有操作都是生成一个新字符串,而不是更新原

字符串。

(4)格式化字符串

格式化字符串:生成特定格式的字符串。

①百分号方式(%)

案例说明

si="温度为%<1摄氏度"%23.41.字符串中的%d可以理解为占位符,后面

print(sl)的%23.4是填充的值。

#运行结果:温度为23摄氏度2d表示用整数玲换,f为实数,s为字符串。

s2="温度为%.2。湿度为%.2『%(23.333,60)3.".2”表示小数点后保留两位

prin((s2)

#运行结果:温度为23.33,湿度为60.00

②format()方法

s3="温度为{},湿度为{:2f}”.fbrmat(23.333,60)L{}是占位符,花括号内可以进行具体的

print(s3)格式控制。

#运行结果:温度为23.333,湿度为60.00

temp=23.42.fonnat的变式写法

s4=温度为{temp}”

print(s4)

#运行结果:温度为23.4

⑸转义字符:

通过在一些字母或符号前加反斜杠“\”来表示•些不能显示的ASCH码字符。

字符意义

\n换行,将光标移动到下一行开头

\r同车,将光标移动到本行开头

V或一个单引号或双引号字符

2.列表类型(list)

(1)列表类型是一个数据集合,列表中可以放任何数据类型。列表创建后,依然可以添加、删

除或修改元素的值。

(2)和字符串类似,可以使用索引进行访问,同时也可以通过索引值对指定元素进行修改。

(3)列表的常用操作方法

操作功能

d(x)在列表的最后追加一个元素X

(i)将索引为i的元素删除,默认删除最后一个元素

l(i,x)在索引值为i位置插入元素X

(reverse)这列表进行排序reverse=True(降序)/False(升序,默认)

和字符串类似,列表也可以支持部分算数运算

11,21+[3]=|1,2,3]列表连接

11.2]*3=11,2.1,2,1,2]先复制再连接

1in[L2.3J=True判断是否存在或是子列表

【注意】列表的操作方法都是对原列表直接操作。

3.字典类型(die)

(1)字典可存储任意类型的数据,数据是由“键:值”组成的键值对。键通常用字符串或数值

来表示,值可以是任意类型的数据。键和值两者一一对应,每个键只能对应一个值。

(2)键和值在字典中以成对的形式出现,键-值对用冒号分隔,各对之间用逗号分隔,所有这

些都包括在花括号中。字典中的元素没有顺序,引用元素时以健为索引。

(3)字典常见操作

die={"A":20,"B":30}#创建字典运行结果:

dic[15]="C"#添加新键值对{'A':20,B:30,15:'C'}

dic={"A":20,"B":30}运行结果:

dic|"A"]=24#修改键对应的值{'A':24,B:30}

dic={"A":20."B":30}运行结果

("B")#删除键值对{'A':20}

#deldic["B"]

dic=C,A,,:2O,"B":3O}运行结果:

print(())#返回所有键dict_keys(['A','B'])

dic={"A":2();'B":3()}运行结果:

prin((s())#返回所有值dict_values([20,33])

dic={"A":20,"B":30}运行结果:

print(O)#字典转列表dict_items([CA;20),(B,30)])

dic={"A":20."B":30}运行结果:

prin((("A",0))#键存在,返回对应的值20

print(("C",0))#键不存在,返回设置值0

五、Python内建函数

函数名描述

inpul(lprompt))获取用户输入,函数的参数为输出提示字符,返回值为字符串类型

int(object|.base|)1将.整数字符串转为整数类型,base声明进制类型,默认base=l()。返回值

为十进制整数类型。例iniC9A”,16)=154

2.将浮点数转为整数类型,结果直接删除小数部分,int(-3.4)=-3

float(objecl)将数值字符串或整数转为浮点数类型

abs(x)返回x的绝对值

len(seq)返回列表或字符串的长度,返回整数类型

str(x)将X转为字符串类型

chr(x)x为ASCII码值,返回x对应的字符

ord(x)x为单字符,返回x对应的ACSII码值,整数类型

round(x[,n|)对x四舍五入,保留n位小数、round(6,-l)=10

max(),min()返回序列中的最大值和最小值

print(str(,end=J)输出内容到拴制立。当参数只有一个,会自动将非字符类型转为字符类型

后输出。当参数有多个,可以用逗号连接后转换为字符串输出。例:

print(10);print(10,“仝”,10,“美“)

open(str)打开文本类文件,str为文件路径或文件名。

六、基本程序控制结构

1.分支结构

if〈判断条件〉:

(语句块1>

elif(判断条件〉:TrueFane

(语句块2>

else:遇句快谓句决

(语句块3>

①Python用代码缩进表示代码间的包含关系,同一级别代码缩进相同。

②当〈判断条件〉为True才执行对应分支语句块。

③elif和else并非必须,且当前面有条件(if)满足后,后面的判断会直接跳过,不执行。

if10>5:运行结果:10

print(IO)

clif20>10:

print(20)

2.循环结构

(l)for循环

forv变量>inv循环对象):

〈循环体〉

[else:

〈语句块>]_____________________________________________________________________

①for循环的执行过程可以简更理解为变量从〈循环对象〉中逐个取值的过程。〈循环对象〉可

以是字符串、列表,也可以是range。函数。因为循环对象中元素个数是有限的,故for循环

的循环次数也是有限的。

②rangc(siari.siop.slcp)中三个参数与字符串或列表切片类似。

③for循环的else部分会循环正常退出时执行。

2)while循环

while(循环判断》:

〈循环体〉

[else:

3]12

(语句块>]------

①wh加循环的〈循环判断,结果为Ture继续循环,为False退出循环。编写程序时需要注意

〈循环判断〉的控制,避免出现“死循环”情况。

②while循环的else部分功能与for相同,也是在正常退出循环时执行。

(3)转移和中断语句

①break:结束并退出当前层循环

②continue:结束当前次循环,进入下一次循环

foriinrange(2):foriinrange(5):

forjinrange(5):ifi==3:

ifj==3:continue

breakprint(i,end="")

print(i*10+j,end=M")

#运行结果:

#运行结果:0124

012101112

七、函数和模块

在用算法解决问题的过程中,经常采用模块化程序设计思路,将问题分解成若子问题,并用

相对独立的程序段来针对性的解决各个子问题,提高程序设计效率。对于一些常用的程序代

码,以模块化的形式进行保存,需要时可重复使用。

1.自定义函数

def函数名(参数集合):

〈函数体〉

[reiurn[返回值”

(I)函数命名规则与变量命名规则相同。

(2)函数参数可以设置默认值,例:<参数>=<默认值>

(3)return语句用于返回函数处理结果,并结束函数运行。

(4)函数一般需要先定义再使用,在代码中,调用函数一定在函数定义之后。

deffun(a,b=2):#函数有两个输出参数,其中b的默认值为2

a=a**b

returna#返回计算结果,结束并退出自定义函数

Xv-—Jo

ans=fun(x)#调用已经定义的fun()函数,第二个参数使用函数默认值

print(ans)#用ans接收函数返回值,并输出

#运行结果:9

(5)函数内部非组合数据类型的变量(包括参数列表)为局部变量,当需要使用全局变量时需要

用global声明^______________________________________________________________________

a=b=1

def#函数没有输出参数

globala#声明函数内的a变量为全局变量

a=3

b=2#函数体中所有语句运行完后自动退出函数

fun()#调月函数

prini(a.b)

#运行结果:31

2.模块的导入及使用

(1)导入模块的方式

I.import〈库名>

#这种方式引入库后,需要以(库名>.<函数名>使用库函数

2.iinport〈库名>as(重命名〉

#这种方式引入库后,需要以〈乖命名〉.〈函数名〉使用库函数

3.from<库名>import〈函数名〉

#这种方式只能使用〈函数名〉部分列举的函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论