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

下载本文档

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

文档简介

第2章Python基础语法主讲人:***13-10月-23Python数据分析与数据挖掘目录contents标识符与变量0102输入与输出03Python数据结构04运算符与表达式程序的流程控制052.1标识符与变量012.1.1

Python标识符Python中的标识符可以由英文、数字以及下划线(_)组成,但不能以数字开头。Python中的标识符是区分大小写的。以下划线开头的标识符有特殊意义:以单下划线开头的(如_test)代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用fromxxximport*的形式导入;以双下划线开头的(如__test)代表类的私有成员;以双下划线开头和结尾的(如__test__)代表Python里特殊方法专用的标识,如__init__()代表类的构造函数。2.1.2

Python关键字关键字是在Python内部已经使用的标识符,这些关键字不能用作常数或变数,或任何其他标识符名称。可以使用如下语句查看Python中的关键字。[例2-1]查看Python中的关键字。2.1.3变量与赋值Python的变量一般不需要声明,可以根据赋值给变量的数据来自动确定变量的类型,然后分配相应的存储空间。

定义一个变量,就是向内存申请一个带地址的访问空间对象,用来存储数据,可以通过变量名找到(指向)这个值。内存中变量主要包括变量的标识、名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。2.2输入与输出022.2.1数据输入Python中从键盘输入数据可以使用input()函数,该函数的返回值是字符串。语法:变量名=input(“输入提示信息字符串”)功能:从标准输入读取一行,并以字符串形式返回,去掉结尾的换行符。[例2-2]input函数输入数据

Input函数[例2-3]input函数外使用类型转换函数

2.2.1数据输入Python可以使用eval函数接收多个数据输入,字符串数据输入时要带上引号,间隔符必须是逗号。语法:eval(expression[,globals[,locals]])功能:eval()函数用来执行一个字符串表达式,并返回表达式的值。[例2-4]eval函数输入数据

eval函数2.2.1数据输入input()函数会把所有输入值(包括数字)视为字符串。若a=input(),输入数字123后,用type(a)输出a的类型,将显示为<class'str'>

eval()函数将会去掉字符串最外层的引号,将其解释为一个变量。

若b=eval(input()),输入数字123后,用type(b)输出b的类型,将显示为<class'int'>,即整型。input函数和eval函数区别2.2.2数据输出

Python中最常用的数据输出方式就是使用print()函数,与相关格式化函数组合使用,如:使用(%)或str.format()函数来格式化输出值;用repr()或str()函数将输出的值转成字符串。语法:print(*objects,sep='',end='\n',file=sys.stdout,flush=False)功能:把objects中每个对象都转化为字符串的形式,然后写到file参数指定的文件中,默认是标准输出(sys.stdout)。每一个对象之间用sep所指的参数进行分隔,默认是空格。所有对象都写到文件后,会写入end参数所指字符,默认是换行。2.2.2数据输出格式:%[(name)][flags][width].[precision]typecode[例2-5]字符串百分号(%)格式化输出

字符串%格式输出常见格式化对照说明输出类型格式说明整数输出%o按oct八进制输出整数%d按dec十进制输出整数%x按hex十六进制输出整数浮点数输出%f保留小数点后面六位有效数字%.nf,保留n位小数位%e保留小数点后面六位有效数字,指数形式输出%.3e,保留3位小数位,使用科学计数法%g在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法,%.3g,保留3位有效数字,使用小数或科学计数法字符串输出%s字符串输出%10s右对齐,占位符10位%-10s左对齐,占位符10位%.2s截取2位字符串%10.2s10位占位符,截取两位字符串2.2.2数据输出Format()函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’格式:[[fill]align][sign][#][0][width][,][.precision][type][例2-6]按位置访问参数输出实例。

format函数格式化输出[例2-8]对齐文本并指定宽度输出实例。[例2-7]按名称访问参数输出实例[例2-9]编写程序,输入三个分数,计算并输出平均分,输出结果保留2位小数。2.2.3输入和输出实践例题2.2.3输入和输出实践例题[例2-10]编写程序,将华氏温度转成摄氏温度,换算公式:C=(H-32)*5.0/9,其中C是摄氏温度,H是华氏温度。[例2-11]打印99乘法表,并按左下三角格式输出。2.2.3输入和输出实践例题2.3Python数据结构032.3.1标量-基本数据类型Python使用对象模型来存储数据,每一个数据类型都有一个相对应的内置类,新建一个数据,实际就是在初始化并生成一个对象。基本数据类型主要包括:整型(int):可以是正整数或负整数,无小数点、无大小限制。整数类型包括:十进制整数、二进制整数(以0b开头)、八进制整数(以0o开头)及十六进制整数(以0x开头)。浮点型(float):由整数部分和小数部分组成,也可以使用科学计数法表示。布尔型(bool):运算结果是True和False常量,这两个常量的值仍然是1和0,可以和数值型数据进行运算。复数(complex):由实数部分和虚数部分构成,可以用a+bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。

[例2-12]数值数据类型及转换测试。

2.3.2序列类型序列类型包括列表、元组和字符串,这些类型有相同的访问模式,包括:可以通过下标位移量来访问序列中的元素,可以通过切片的方式一次性得到列表中多个元素。序列的常用操作符(注意优先级顺序从高到低)方法说明Seq[index]返回序列中下标为index的元素Seq[in1:in2]返回序列中下标从in1到in2之间的元素集合Seq[i:j:k]按间隔k,返回序列中下标从i到j之间的元素集合Seq*n序列重复n次Seq1+Seq2两个序列连接elementinseq判断元素是否在序列中elementnotinseq判断元素是否不在序列中s.index(x[,

i[,

j]])x在s中首次出现的索引(或在索引i处或之后,在索引j之前)seq.count(x)返回x在序列中出现的次数2.3.2序列类型序列类型的类型转换函数可以用来在列表、元组和字符串几种序列类型间进行转换。表2-3序列类型转换函数

函数说明list(iter)把可迭代对象转换为列表tuple(obj)把一个可迭代对象转换为元组对象str(obj)把obj对象转换为字符串对象其他常用序列类型函数:len()、max()、min()、sorted(),请自行练习。

2.3.2序列类型1、创建:用方括号括起所有元素,并且元素之间用逗号分隔。一对空的方括号表示空列表。列表2、截取:使用方括号([])的切片,其中,列表使用从前往后从0开始的正向索引或从-1开始的从后往前的逆向索引来标注元素的位置列表的数据项可以进行修改或更新:使用del语句来删除列表的元素。列表运算符“+”用于合并列表,“*”用于重复列表。[例2-14]列表的截取。[例2-13]列表的创建

2.3.2序列类型3、列表方法列表方法说明list.append(x)添加元素x到列表末尾list.extend(iter)将另一个列表添加到列表的末尾list.insert(i,x)在下标为i的元素之前加入一个元素list.remove(x)从列表里删除第一个值为x的元素list.pop([i])删除列表中给定位置的项,然后将其返回。如果没有指定索引,a.pop()将删除并返回列表中的最后一项list.clear()从列表中删除所有元素list.count(x)返回x出现在列表中的次数list.sort(key=None,reverse=False)对原列表中的项目进行排序list.reverse()反转列表元素list.copy()返回列表的shadow副本。相当于a[:]3.1序列类型列表4、解析:对列表中的每个元素应用一个函数进行计算,从而将一个列表映射为另一个列表,称为列表解析。列表解析的基本语法格式如下:[<表达式>for<变量>in<列表>][<表达式>for<变量>in<列表>if<条件>][例2-16]列表实例,注意以下两种写法等价:[例2-17]列表的解析

2.3.2序列类型元组是元素的有序序列,与列表类似不同之处在于元组中的元素值不能修改。元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,元组中没有append,extend和insert等方法。元组的内置函数包括len,max,min,tuple等。[例2-18]元组的创建及访问。元组2.3.2序列类型Python中的字符串是一个有序字符的集合,用于表示和存储文本信息。字符串可以使用单引号(')、双引号(")或三引号(''')来创建。其中,三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。Python中,可以使用‘+’、“*”等运算符对字符串进行连接及重复等运算。Python提供了丰富的字符串内建函数,可以对字符串实现查找、检测、大小写转换等功能。字符串[例2-19]字符串创建。[例2-20]字符串的运算符。字符串常用的字符串运算符2.3.2序列类型常用的字符串内建函数字符串[例2-21]字符串的内建函数。2.3.3映射类型-字典字典是Python中一种非常有用的映射类型,可以存储任意类型对象。字典中的每个数据称作项,项由键/值对组成,每个键/值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示:dict={key1:value1,key2:value2}常见操作:访问字典中的值增加新的键/值对修改或删除已有键/值对删除字典元素检测字典中是否存在键

[例2-22]字典实例

2.3.4集合类型Python中的集合(set)是不重复元素的无序集合。常用功能:成员关系测试,消除重复元素,科学计算,如并、交、差、对称差等。分类:可变集合(set)、不可变集合(frozenset)可变集合:可以添加和删除元素不可变集合:不允许添加和删除元素[例2-23]集合实例

2.3.5数据结构实践例题[例2-24]列表实例,用列表判断输入的字符串是不是回文。[例2-25]

集合实例,用0-10间的随机数生成一个长度为20的列表,统计其中各个数出现的频率。[例2-26]列表实例,从键盘输入一个单词sdel,将字符串sall中与sdel相同的单词都删除。[例2-27]字符串实例,恺撒密码,也称移位密码,是最简单和最广为人知的加密技术之一。它是一种替换密码,其中明文中的每一个字母都被一个字母替换,这个字母在字母表中的位置是固定的。例如,如果右移2,a将被c替换,b将变为d,依此类推,如图2.2所示。这种方法是以凯撒大帝的名字命名的,他在私人信件中使用了这种方法。[例2-28]字典实例,统计data目录下文件ci.txt中保存的歌曲“Myheartwillgoon”中的词频,将词频排在前10的单词输出。运算符与表达式042.4运算符与表达式赋值运算符:=(简单的赋值运算符),+=(加法赋值运算符),-=(减法赋值运算符),*=(乘法赋值运算符),/=(除法赋值运算符),%=(取模赋值运算符),**=(幂赋值运算符),//=(取整除赋值运算符)等。算术运算符:+(加),-(减)

,*(乘),/(除),%(取模,返回除法的余数),**(幂,返回x的y次幂),//(取整除,向下取接近除数的整数)等。比较运算符:==(等于,比较对象是否相等),!= (不等于,比较两个对象是否不相等),>(大于,返回x是否大于y),< (小于,返回x是否小于y),>=(大于等于,返回x是否大于等于y),<=(小于等于,返回x是否小于等于y)。逻辑运算符:and(与),or(或)和not(非)。Python中的运算符包括:赋值运算符、算术运算符、比较(关系)运算符、逻辑运算符、位运算符、成员运算符等。

表达式是将不同类型的数据(常量、变量、函数)用运算符按照一定的规则连接起来的式子。2.4运算符与表达式实例[例2-29]算术运算符实例,计算圆锥体的体积和表面积。[例2-30]逻辑运算符实例,闰年判断。2.4运算符与表达式实例流程控制052.5.1顺序结构顺序结构是流程控制中最简单的一种结构,该结构的特点是按照语句的先后次序依次执行,每条语句只执行一次。[例2-31]计算椭球的表面积和体积。[例2-32]绘制正方形。1、if-else条件语句if条件:

条件为真时要执行的语句块else:

条件为假时要执行的语句块2、if-elif-else判断语句if条件1:

条件1为真时执行的语句块1elif条件2:

条件1为假且条件2为真时执行的语句块2elif条件n:

条件1至条件n-1全部为假且条件n为真时执行的语句块nelse:

上述条件都不满足时执行的语句块n+14、switch语句的替代方案定义一个字典调用字典的get()获取相应的表达式。3、if语句的嵌套if条件1: if条件2:

条件1为真且条件2为真时执行的语句块1 else:

条件1为真且条件2为假时执行的语句块2else:条件1为假时执行的语句块32.5.2选择结构2.5.2选择结构实例[例2-33]从用户输入的三个数中输出最大的数。[例2-34]猜数字游戏。2.5.2选择结构实例[例2-35]成绩等级换算[例2-36]身体质量指数BMI计算,计算方法如图2.3所示。2.5.2选择结构实例[例2-37]判断三角形的类型。[例2-38]判断驾驶员酒醉驾。2.5.2选择结构[例2-39]简单的计算器。[例2-40]阿拉伯数字转换。2.5.3循环结构循环是指在满足一定条件的情况下,重复执行一组语句的结构,其中重复执行的语句称作循环体。循环结构设计三要素如下:初始化语句:循环控制变量赋初值或其他循环中用到的变量的初始化。循环条件:循环结构继续执行的条件,是一个结果为True或False的表达式。迭代语句:通常是循环控制变量的改变,且朝着循环结束条件的方向变化,从而使得循环可以正常结束。2.5.3循环结构语法格式: [初始化语句] while(循环条件):

语句块

[迭代语句][例2-41]自然数求和。While循环[例2-42]判断计算结果。2.5.3循环结构for语句的基本形式:for<变量>in<序列>:循环体语句块其中,序列可以是等差数列、字符串、列表、元组或者是一个文件对象。for循环[例2-43]计算分数之和。[例2-44]计算1-2+3-4+……+999-1000之和。2.5.3循环结构break语句:中途从循环结构中退出。continue语句:跳过循环体中未执行的语句,返回到循环体的头部继续执行新一轮的循环。Break&continue[例2-45]用户登录模拟[例2-46]计算最大公约数和最小公倍数。2.5.3循环结构Python支持在循环语句中关联else语句。如果else语句和for循环语句一起使用,else块只在for循环正常终止时执行(而不是遇到break语句),如果else语句用在while循环中,当条件变为False时,则执行else语句。[例2-47]判断素数。循环中的else语句2.5.3循环结构循环结构的循环体内可以包含任意Python语句,因此也可以包含另外的循环结构,称为嵌套循环。特点:最外层的循环称为外循环,所包含的循环称为内循环;内循环必须完全包含在外循环中;外循环和内循环的控制变量不能相同;在嵌套循环结构中,嵌套的层数可以是任意的。嵌套循环[例2-48]输出三位的水仙花数,它的每个位上的数字的3次幂之和等于它本身(例如:1^3+5^3+3^3=153)2.5.3循环结构在循环结构中,for或while语句之后必须紧跟至少包含一条语句的缩进语句块,然而有些情况下需要一个没有循环体语句块的循环结构,这种情况可以使用pass语句,pass语句是一个“什么也不做”的占位符语句。[例2-49]选择与循环结构实例,判断10以内的素数。Pass语句本章实践例题062.6本章实践例题[例2-50]用循环实现猜拳游戏。2.6本章实践例题[例2-51]用循环实现猜数字游戏。2.6本章实践例题[例2-52]用循环和条件判断实现评分过程模拟。2

温馨提示

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

评论

0/150

提交评论