Python语言程序设计(第二版) 课件 2 Python语法基础_第1页
Python语言程序设计(第二版) 课件 2 Python语法基础_第2页
Python语言程序设计(第二版) 课件 2 Python语法基础_第3页
Python语言程序设计(第二版) 课件 2 Python语法基础_第4页
Python语言程序设计(第二版) 课件 2 Python语法基础_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第2章Python语法基础

Python程序组成Python程序由一个或多个模块(后缀为.py的源文件等)组成。模块包含语句,语句是Python程序的基本构成元素。语句通常包含表达式,表达式由操作数和运算符构成,用于创建和处理对象。

例2.1已知两条直角边,求三角形周长。2Python语言编码规范标识符命名:由字母、数字、下划线、汉字等字符组成。不能使用系统关键字,首字母不能用数字,区分大小写。选取的名称应该能够清楚地说明该变量、函数、类、模块等所包含的意义。代码缩进:一种是采用制表符(Tab键),另一种是采用若干个空格。a=0if

a<1:a=33语句分隔:一般一条语句一行。如果在一行中要书写多条语句,就必须使用分号进行分隔。 x=3;y=4一条语句分多行书写,需要使用反斜杠(\)添加到行末来续行。 print("C1center:%sraidus:%s"%\ (c1.getCenterPosition(),cl.getRadius()))注释:单行:#多行:三引号4Python基本数据类型1数值类型Python数值类型用于存储数值。整型(int):通常被称为是整型或整数,是正或负整数,不带小数点。浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.78e2就是2.78x102=278)在混合计算时,Python会把整型转换成为浮点数。复数(complex):复数由实数部分和虚数部分构成,可以用a+bj,或者complex(a,b)表示,复数的虚部以字母j或J结尾。如:2+3j。52.字符串型Python使用单引号、双引号、三引号来表示字符串。(字符串常量)Python中的字符串常量值不能改变。需要在字符中使用特殊字符时,Python用反斜杠(\)转义字符63.

布尔类型布尔类型只有True和False两种值。在Python中,布尔类型还可以与其他数据类型做and、or和not运算,这时下面的几种情况会被认为是FALSE:为0的数字,包括0,0.0;空字符串‘’,“”;表示空值的None;空集合,包括空元组(),空序列[],空字典{};其他的值都为TRUE。例如:a='python'print(aandTrue)#结果是Trueb=''print(borFalse)#结果是False7在Python中,逻辑值True和False作为数值,则分别是整型值1和0参与运算。例如:>>>x=False>>>a=x+(5>4)#结果a是1>>>b=x+5#结果b是54.空值

空值是Python里一个特殊的值,用None表示。它不支持任何运算也没有任何内置函数方法。None和任何其他的数据类型比较永远返回False。在Python中未指定返回值的函数会自动返回None。8常量和变量常量就是值不能变的量,比如常用的数学常数π就是一个常量。在Python中,通常用大写字母命名常量,如:PI=3量变量在程序运行中,值可以发生变化。变量使用前需要命名。变量名必须是英文字母、数字和_的组合,且不能用数字开头,比如:a,a123,a_9,_abc,123a(错误)在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:a=123 #a是整数

注:此处等号=是赋值a='ABC' #a变为字符串9运算符与表达式Python语言支持运算符有以下几种类型。•算术运算符•比较(即关系)运算符•赋值运算符•逻辑运算符•位运算符•成员操作符•标识操作符10运算符与表达式1.算术运算符算术运算符实现数学运算,Python语言算术运算符如表2-5所示。假设其中变量a=10和变量b=20。112.关系运算符关系运算符用于两个值进行比较,运算结果为True(真)或False(假)。Python中的关系运算符如表2-6所示。假设其中变量a=10和变量b=20。123.逻辑运算符Python中提供了三种逻辑运算符,它们是:and(逻辑与,二元运算符)or(逻辑或,二元运算符)not(逻辑非,一元运算符)134.赋值运算符1)赋值:变量=表达式2)复合赋值:+=,-=,*=,/=,//=,%=,**=等 x+=5等价于x=x+53)多变量赋值链式赋值:变量1=变量2=……=变量n=表达式

例如:a=b=c=1

同步赋值:变量1,变量2,……,变量n=表达式1,表达式2,……,表达式n

例如:a,b,c=1,2,"runoob"

特别注意:同步赋值可以实现交换:a,b=b,a14

5.位运算符

位(bit)是计算机中表示信息的最小单位,位运算符作用于位和位操作。Python中位运算符如下:按位与(&)、按位或(|)、按位异或(^)、按位求反(~)、左移(<<)、右移(>>)。位运算符是对其操作数按其二进制形式逐位进行运算。a= 00111100b= 00001101a&b= 00001100a|b= 00111101a^b= 00110001~a= 11000011156.Python成员运算Python成员运算符判断序列中是否有某个成员。成员运算符如表2-9所示。167.Python标识运算符标识符比较两个对象的内存位置。

17表达式表达式是一个或多个运算的组合。Python语言的表达式与其他语言的表达式没有显著的区别。每个符合Python语言规则的表达式的计算都是一个确定的值。对于常量、变量的运算和对于函数的调用都可以构成表达式。在后续章节中介绍的序列、函数、对象都可以成为表达式一部分。18运算符优先级在一个表达式中出现多种运算时,将按照预先确定的顺序计算并解析各个部分,这个顺序称为运算符优先级。19内置函数函数就是程序中一段包装起来的具有特定功能的代码。内置函数(也称内建函数)指的是不需要导入任何模块即可直接使用的函数。函数通过函数名和参数列表进行调用,通过返回值向外部返回结果。类型转换函数:chr(97)ord(‘a’)str(3.15)int(3.3)数学运算函数:abs(x)max(3,2,5,1)pow(x,y)eval函数eval(expression),接收运行一个字符串表达式,返回表达式的结果值。使用方法:(1)简单的计算用法 例:eval("2+3"),运行结果为5(2)与其它函数结合使用,比如结合input函数使用。 例:m=eval(input(“”)),可以将用input函数输入的字符串转为对应的数据类型。20模块与函数Python使用模块将代码封装起来。除了Python的内置函数之外,Python标准库所提供的函数均被封装在各个模块中。要调用模块中的函数(非内置函数),需要在代码顶部使用import语句导入该模块。(1)import模块名(2)from模块名import函数名/*math模块random模块21标准输入/输出1.标准输入

input([提示字符串])2.标准输出

(1)print(表达式)(2)print([输出项1,输出项2,……,输出项n)][,sep=分隔符][,end=结束符])223.格式化输出(简单介绍,详细信息请参考教材相应内容)

(1)利用字符中格式化运算符%print(‘这个商品的价格是¥%.2f’%7.8)保留2位小数

(2)利用format()内置函数

print(format(15,“x”)),十六进制输出

print(format(65,“c”)),输出字符

print(format(3.145,“f”))输出浮点数

(3)利用字符串的format()方法

print(‘{0:.2f},{1}’.format(3.145,500)),第0个数保留2位小数,第1个数格式不变3.15,50023Python字符串字符串是一个字符序列。在Python中,字符串常量是用单引号、双引号或三引号括起来的若干个字符,字符串变量是用来存放字符串常量的变量。字符串数据中的字符可以是计算机系统中允许使用的任何字符。字符串数据在应用中是大量存在的,例如统计一篇英文文章中不同英文字母出现的次数、按姓名排序、查找关键字等。下面介绍几个字符串相关操作和方法。24字符串操作1.字符串长度使用len()函数,可以确定字符串包含的字符个数,即字符串的长度。例如:>>>len("Hello")5>>>len("中国")2252.字符串连接操作(1)基本连接操作s1+s2(2)重复连接操作s*n或n*s例:

s1+s2+…+sn

其中,s1,s2,…sn,均是一个字符串,表达式的值也是一个字符串。

例如: >>>"Sub"+"String" 'SubString’ >>>'ABCD’*2 'ABCDABCD'263.字符串的索引为了实现索引,需要对字符串中的字符进行编号,最左边字符的编号为0,最右边字符的编号比字符串的长度小1。Python还支持在字符串中使用负数从右向左进行编号,最右边的字符(即倒数第1个字符)的编号为-1,字符串变量名后接用中括号括起来的编号即可实现字符串的索引。例如:>>>s="Hello">>>print(s[0],s[-4])He274.字符串的分片字符串的分片(或切片)就是从给定的字符串中分离出部分字符,这时可以使用以下形式的字符串索引编号。

i:j:k其中,i是索引起始位置,j是索引结束位置但不包括位置上的字符,索引编号每次增加的步长为k。例如:>>>s="HelloWorld!">>>print(s[0:5:2])Hlo28例利用字符串分片方法将一个字符串中的字符按逆序打印出来。程序如下:s1=input("pleaseenterastring:")s2=s1[::-1]print(s2)程序输出结果如下:pleaseenterastring:ABCDEFFEDCBA295.字符串逻辑操作字符串的逻辑操作是指字符串参与逻辑比较,其操作的结果是一个逻辑量,通常用于表达字符处理的条件。(1)关系操作(比较)(2)成员关系操作字符串的成员关系操作包括in和notin操作,一般格式为:字符串1[not]in字符串2该操作用于判断字符串1是否属于字符串2,其返回值为True或False。例如:>>>"SHANGHAI"<"SHANKONG"True#因为第5个字符“G”小于“K”,所以前一字符串小于后一字符串。>>>'a'in'abc'#True>>>'a'notin'abc'#False30字符串方法方法(method)和前面提到的函数(function)类似,都是由若干语句组成的可完成一定功能的程序段。函数是面向过程程序设计的概念,方法是面向对象程序设计的概念。方法本质上也是函数,但方法要依附于对象。函数可以通过函数名直接调用,如ord('A'),而方法则要通过对象名和方法名组合来调用,一般形式为:对象名.方法名(参数)。在Python中,一个具体的字符串可以看成一个对象。字符串对象是不可改变的,也就是说在Python创建一个字符串后,不能改变这个字符串中的某一部分。使用任何字符串方法改变字符串后,都会返回一个新的字符串,原字符串并没有变化。如:对于字符串"ab","ab".upper()的运算结果是"AB",但原字符串"ab"并不改变。31假设s是一个字符串。其方法的引用形式:s.方法名([参数])(1)字母大小写转换s.upper():全部转换为大字字母。s.lower():全部转换为小写字母。s.swapcase():字母大小写互换。s.capitalize():句子首字母大写,其余小写。s.title():单词首字母大写。32例

字母大小写转换函数使用示例。s='PythonProgram'print(s.lower())#变小写pythonprogramprint(s.upper())#变大写PYTHONPROGRAMprint(s.swapcase())#大小写互换pYTHONpROGRAMprint(s.capitalize())#句子开始字母大写Pythonprogram#下条语句中使用了格式化输出,功能是单词首字母大写print('{:s}title={:s}'.format(s,s.title()))#结果PythonProgramtitle=PythonProgram33假设s是一个字符串。其方法的引用形式:s.方法名([参数])(2)字符串搜索①s.find(substr,[start,[end]]):返回s中出现substr的第1个字符的编号,如果s中没有substr则返回-1。start和end作用就相当于在s[start:end]中搜索。②s.index(substr,[start,[end]]):与find()相同,只是在s中没有substr时,会返回一个运行错误。③s.rfind(substr,[start,[end]]):返回s中最后出现的substr的第1个字符的编号,如果s中没有substr则返回-1,也就是说从右边算起的第1次出现的substr的首字符编号。④s.rindex(substr,[start,[end]]):与rfind()相同,只是在s中没有substr时,会返回一个运行时错误。⑤s.count(substr,[start,[end]]):计算substr在s中出现的次数。⑥s.startswith(prefix,[start,[end]]):是否以prefix开头,若是返回True,否则返回False。⑦s.endswith(suffix,[start[end]]):以suffix结尾,若是返回True,否则返回False。34例

字符串搜索函数使用示例。程序如下:s='PythonProgram'print('{:s}findnono={:d}'.format(s,s.find('nono')))print('{:s}findt={:d}'.format(s,s.find('t')))print('{:s}findtfrom{:d}={:d}'.format(s,1,s.find('t',1)))print('{:s}findtfrom{:d}to{:d}={:d}'.format(s,1,2,s.find('t',1,2)))print('{:s}rfindt={:d}'.format(s,s.rfind('t')))print('{:s}countt={:d}'.format(s,s.count('t')))35(3)字符串替换

s.replace(oldstr,newstr,[count]):把s中的oldster替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换。s.strip([chars]):把s中前后chars中有的字符全部去掉,可以理解为把s前后chars替换为None。默认去掉前后空格。s.lstrip([chars]):把s左边chars中有的字符全部去掉。默认去掉左边空格。s.rstrip([chars]):把s右边chars中有的字符全部去掉。默认去掉右边空格。s.expandtabs([tabsize]):把s中的tab字符替换为空格,每个tab替换为tabsize个空格,默认是8个。36例字符串替换函数使用示例。程序如下:s='PythonProgram'print('{:s}replacetto*={:s}'.format(s,s.replace('t','*')))print('{:s}replacetto*={:s}'.format(s,s.replace('t','*',1)))print('{:s}strip={:s}'.format(s,s.strip()))print('{:s}strip={:s}'.format(s,s.strip('Pm')))运行结果如下:PythonProgramreplacetto*=Py*honProgramPythonProgramreplacetto*=Py*honProgramPythonProgramstrip=PythonProgramPythonProgramstrip=ythonProgra37(4)字符串的拆分与组合

s.split([sep,[maxsplit]]):以sep为分隔符,把字符串s拆分成一个列表。默认的分隔符为空格。maxsplit表示拆分的次数,默认取-1,表示无限制拆分。s.rsplit([sep,[maxsplit]]):从右侧把字符串s拆分成一个列表。s.splitlines([keepends]):把s按行拆分为一个列表。keepends是一个逻辑值,如果为True,则每行拆分后会保留行分隔符。s.partition(sub):从sub出现的第1个位置起,把字符串s拆分成一个3元素的元组(sub左边字符,sub,sub右边字符)。如果s中不包含sub,则返回(s,",")。s.rpartition(sub):从右侧开始,把字符串s拆分成一个3元素的元组(sub左边字符,sub,sub右边字符)。如果s中不包含sub,则返回(",",s)。

s.join(seq):把seq代表的序列组合成字符串,用s将序列各元素连接起来。字符串中的字符是不能修改的,如果要修改,通常的方法是,用list()函数把字符串s变为以单个字符为成员的列表(使用语句s=list(s)),再使用给列表成员赋值的方式改变值(如s[3]='a'),最后再使

温馨提示

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

评论

0/150

提交评论