版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python语言基础与应用全套可编辑PPT课件
01Python语言概述PYTHON目录CONTENTS0102031.1Python简介1.2Python安装1.3开发环境TEACH041.4HelloWorld程序1.1Python简介1.1.1Python发展历史1989年,Guido在ABC语言的基础上,结合Unixshell和C的优点设计出Python语言。1995年,Guido在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,并发布了该软件的多个版本。2000年10月16日发布Python2,Python2的稳定版本为Python2.7。2001年,Python软件基金会(PSF)成立,这是一个专为拥有Python相关知识产权而创建的非营利组织。GuidovanRossumLifeisshort,youneedPython!本课件是可编辑的正常PPT课件1.1.1Python发展历史2004年以后,python的使用率呈线性增长。2008年12月3日发布Python3,不完全兼容Python2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。2021年,TIOBE编程语言排行榜位于第三位。2022年,TIOBE编程语言排行榜位于第一位。2023年,TIOBE编程语言排行榜位于第一位。2024年,TIOBE编程语言排行榜位于第一位。GuidovanRossumLifeisshort,youneedPython!本课件是可编辑的正常PPT课件1.1.2Python特点
速度快:底层代码、大多数库是C语言编写0102030405060708P语法限制不太严格,程序设计自由度大免费开源:
使用免费,源代码公开数据类型丰富可移植性好:Linux、Windows、android、VMS、Solaris解释性:直接从源代码运行程序库丰富:系统、文档、数据库、界面可扩展性与可嵌入性:通过模块可以与C、C++相互调用本课件是可编辑的正常PPT课件1.1.3Python应用作为一门优秀的程序设计语言,Python被广泛应用于各种领域,如:GUI开发数据获取多媒体应用Web应用开发科学计算数据库开发本课件是可编辑的正常PPT课件1.1.4Python不足作为一门优秀的程序设计语言,Python被广泛应用于各种领域,如:(1)运行速度慢
(2)代码保密性低。程序发布基本就是发布源代码本课件是可编辑的正常PPT课件1.2Python的下载与安装1.2.1下载官网为:/图1.1
Python首页1.2.1下载可以根据个人需求和计算机CPUGPRs的宽度选择对应的版本。图1.2Python安装版本(Windows)本课件是可编辑的正常PPT课件1.2.1下载本书选择的是3.7.2版本(64位)。图1.3Python3.7.2安装包下载列表本课件是可编辑的正常PPT课件1.2.2安装图1.4安装向导(1)双击下载的“python-3.7.2-amd64.exe”,(2)勾选“AddPython3.7toPATH”选项,将Python的路径添加到系统的环境变量中。(3)选择“Customizeinstallation”安装方式,自定义安装本课件是可编辑的正常PPT课件1.2.2安装图1.5安装选项对话框(1)“Documentation”选项安装Python的帮助文档;(2)“pip”选项是安装下载Python各种包的工具;(3)“td/tkandIDLE”选项安装tkinter和IDLE;(4)“Pythontestsuite”选择安装测试的标准库。本课件是可编辑的正常PPT课件1.2.2安装图1.6高级选项对话框(1)“Installforallusers”选中表示为所有的用户安装Python,默认安装路径为“C:\ProgramFiles\Python37”。(2)“AssociatefileswithPython(requiresthepylauncher)”选项表示安装Python的相关文件;本课件是可编辑的正常PPT课件1.2.2安装图1.6高级选项对话框(3)“Createshortcutsforinstalledapplications”选项表示在开始菜单栏中创建Python选项;(4)“AddPythontoenvironmentvariables”选项表示添加环境变量;本课件是可编辑的正常PPT课件1.2.2安装图1.6高级选项对话框(5)Precompilestandardlibrary”选项表示预编译Python的标准库,可以提高程序的运行效率;(6)“Downloaddebuggingsymbls”选项下载调试标识;(7)“Downloaddebugbinaries(requiresvs2015orlater)”选项表示可下载二进制代码调试本课件是可编辑的正常PPT课件1.2.2安装图1.7安装过程界面图1.8安装成功界面本课件是可编辑的正常PPT课件1.2.2安装图1.9Python界面安装完成后,需要测试Python是否安装成功。(1)按Windows+R键,打开运行界面;(2)输入“python”命令,回车;(3)如出现界面图1.9所示,表示安装成功。本课件是可编辑的正常PPT课件1.3Python的开发环境1.3.1IDLE
IDLE是Python自带的开发工具,安装Python软件时,自动安装IDLE,可以在开始菜单中的Python3.7子菜单中找到IDLE。1.3.1IDLE
Windows下的IDLE命令行界面。本课件是可编辑的正常PPT课件1.3.2PyCharm
PyCharm是第三方的PythonIDE,由JetBrains公司开发。本课件是可编辑的正常PPT课件1.4HelloWord程序1.4.1IDLE编码方式运行程序(1)编码打开IDLE,依次单击“File”→“NewFile”,在弹出的文本编辑框中输入代码。1.4.1IDLE编码方式运行程序
(2)保存依次单击“File”→“Save”,文件名为“1_1”,选择文件的类型为“PythonFiles(*.py*.pyw)”,将其保存为文件名“1_1.py”的文件。本课件是可编辑的正常PPT课件1.4.1IDLE编码方式运行程序
(3)运行按F5或依次单击“Run”→“RunModule”,运行当前代码,结果如下图所示。本课件是可编辑的正常PPT课件1.4.2交互方式运行程序交互方式是指边输入Python语句,边运行程序。打开IDLE,在命令行输入第一行代码,回车后,立即出现运行结果。本课件是可编辑的正常PPT课件Python语言基础与应用Python语言基础与应用02数据结构PYTHON目录CONTENTS0102032.1数值类型2.2序列2.3字典TEACH042.4集合2.1数值类型数值类型整数类型(int)浮点类型(float)复数类型(complex)一、
整数类型(int)
整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。(1)十进制:由0-9进行表示,例:10,99,-217(2)二进制:由0、1组成,“逢二进一”,以0b开头,例:0b1010(3)八进制:由0~7组成,“逢八进一”,以0o开头,例:0o12(4)十六进制:由0~9、A~F组成,“逢十六进一”,以0x/0X开头,例:0x0A一、
整数类型在交互模式下,程序运行结果如下:>>>0b101010>>>0o1210>>>0x0a10通过运行,将二进制、八进制、十六进制均转换为十进制二、
浮点数类型
浮点数是带小数的数字,由整数部分和小数部分组成,主要用于处理含有小数部分的数。浮点数表示方法如下:3.1415926#十进制形式表示,4.
#十进制形式表示,相当于4.0.5
#十进制形式表示,相当于0.5-2.7315e2
#科学计数法表示,相当于-2.7315x102三、
复数类型
复数是Python内置的数据类型,有以下特点:
(1)复数由实部和虚部构成,其一般形式为:real+imag*1j。
(2)实部real和虚部的imag都是浮点型。
(3)虚部必须有后缀j或J。Python中有两种创建复数的方式:num_one=3+2j#直接创建num_two=complex(3,2)#通过内置函数创建2.2序列序列(sequence)是程序设计中常用的数据存储方式,按一定顺序存放多个值的连续内存空间,包括String(字符串)、List(列表)、Tuple(元组)三种类型。字符串"Python"列表lt=[1,2,3]元组tp=(1,2,3)一、
字符串
字符串是序列的一种,主要用于存储和表现文本的信息。1.字符串性质
字符串是将“字符”按照顺序“串联”起来。“Python语言”、‘文化路103号’、“sinɑ”2.字符种类
数字、拉丁字母、英文字母、标点符号、特殊符号、其他语言等。一、字符串3.字符串定义
Python支持用单引号、双引号和三引号定义字符串,单引号和双引号常用于定义单行字符串,三引号常用于定义多行字符串。当字符串中含有双引号时,最好使用单引号作为界定符单引号双引号三引号'Hesaid“hi”'当字符串中含有单引号时,最好使用双引号作为界定符"It'smycat."常用于多行字符串,可以包含单双引号'''Python'''一、
字符串
字符串"python3"存储方式如下:值(value)python3位置(index)0123456位置(index)-7-6-5-4-3-2-1第一个字符位置编号是0,第二个字符位置编号是1,.....最后一个字符位置编号是-1,倒数第二个字符位置编号是-2,.....一、
字符串4.字符读取(单个)
s[i]:根据字符的编号,从字符串中读取任意一个字符。>>>s="python3">>>s[0]'p'>>>s[-1]'3'一、
字符串4.字符读取(切片,多个字符)
s[start:end:step]:start开始位置(闭),end结束位置(开),step间隔。>>>s="python3">>>s[0:5:1]'pytho'>>>s[0:5:2]'pto'>>>s[0:6:2]'pto'值(value)python3位置(index)0123456一、
字符串5.字符串连接
使用+运算符将字符串连接在一起,用*运算符重复字符串。>>>s1*3'pythonpythonpython'>>>3*s1'pythonpythonpython'>>>s1="python">>>s2="3">>>s1+s2'python3'>>>s2+s1'3python'一、
字符串6.字符串相等判断(==)>>>s1=”python”>>>s1==”python”True>>>s1==”Python”False一、
字符串7.判断字符串中是否包含某个字符串(in)>>>s1=”python”>>>nins1True>>>onins1True>>>mins1False一、
字符串8.字符类型判断s.isalnum():测试字符串是否为数字或字母s.isalpha():是否为字母s.isdigit():是否为数字字符s.isdecimal():是否只包含十进制字符s.isnumeric():是否只由数字组成s.isspace():是否为空白字符s.isupper():是否为大写字母s.islower():是否为小写字母一、
字符串8.字符类型判断
>>>'1234abcd'.isalnum()
True
>>>'1234abcd'.isalpha()#全部为英文字母时返回True
False
>>>'1234abcd'.isdigit()#全部为数字时返回True
False
>>>'abcd'.isalpha()
True
>>>'1234.0'.isdigit()
False一、
字符串9.分割(slpit)和合并(join)
>>>s1="Today-is-a-good-day">>>s1.split('-')['Today','is','a','good','day']>>>"".join(['Today','is','a','good','day'])'Todayisagoodday'二、
列表
列表(List)是一个没有固定长度的,表示任意对象的有序集合。特点如下:
(1)Python中内置的可变的有序序列。
(2)在形式上,列表的所有元素都放在一对中括号“[]”中,两个相邻元素间使用逗号“,”分隔。
(3)在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中。二、
列表1.创建列表(实体列表)
使用赋值运算符“=”直接将一个列表赋值给变量,语法格式如下:listname=[元素1,元素2,元素3,…,元素n]>>>a_list=['a','b',1,4+5j,1,7,'Python']>>>a_list['a','b',1,(4+5j),1,7,'Python']二、
列表1.创建列表(空列表)
使用赋值运算符“=”直接将一个列表赋值给变量,语法格式如下:listname=[]
或
listname=list()>>>a_list=[]>>>a_list[]>>>b_list=list()>>>b_list[]二、
列表2.列表读取
单个元素读取:列表名[索引]:位置索引来读取列表中的值;
列表截取(切片):列表名[start:end:step]>>>a=['Today','is','a','good','day']>>>a[1]'is'>>>a=['Today','is','a','good','day']>>>a[1:3:1]['is','a']二、
列表3.列表赋值
修改列表中的元素需要通过索引(指定下标)获取该元素,再为其重新赋值即可。语法格式:listname[index]=元素值>>>a=['Today','is','a','good','day']>>>a[1]="notis"['Today','notis','a','good','day']二、
列表4.列表元素增加(append/insert/extend)
append()方法:尾部添加元素,语法格式:列表名.append(数据对象)>>>a=['T','i','a','d','y']>>>a.append('t')>>>a['T','i','a','d','y','t']二、
列表4.列表元素增加(append/insert/extend)
insert()方法:将指定对象或序列插入列表的指定位置。语法格式:列表名.insert(index,obj)>>>a=['T','i','a','d','y']>>>a.insert(2,'t')>>>a['T','i','t','a','d','y']二、
列表4.列表元素增加(append/insert/extend)
extend()方法:在列表末尾添加一个序列,将这个序列的数据逐一添加到列表中。语法格式:列表名.extend(seq)>>>m=['T','i','a','d','y']>>>m.extend(['p',1])>>>m['T','i','a','d','y','p',1]二、
列表
5.缩减列表(remove/pop/clear)
remove()方法:根据元素值删除元素,语法格式:lisename.remove(obj)>>>m=['T','i','a','d','T','y']>>>m.remove('T')['i','a','d','T','y']>>>m.remove('T')['i','a','d','y']二、
列表
5.缩减列表(remove/pop/clear)
pop()方法:移除列表中的一个元素并且返回该元素的值。语法格式:列表名.pop(index)>>>m=['T','i','a','d','T','y']>>>p=m.pop(1)>>>m['T','a','d','T','y']>>>p'i'二、
列表
5.缩减列表(remove/pop/clear)
clear()方法:用于清空列表,语法格式:列表名.clear()>>>m=['T','i','a','d','T','y']>>>m.clear()>>>m[]二、
列表
6.重组列表(reverse/sort):
reverse():按照元素位置头尾翻转重新排列,语法格式:
列表名.reverse()>>>m=[1,9,8,2,6,7]>>>m.reverse()>>>m[7,6,2,8,9,1]解释:按照位置进行顺序的反转。二、
列表
6.重组列表(reverse/sort):
sort():按照元素值大小进行排列,语法格式:列表名.sort()>>>m=[1,9,8,2,6,7]>>>m.sort()>>>m[1,2,6,7,8,9]>>>m.sort(reverse=True)[9,8,7,6,2,1]解释:sort()方法默认参数为reverse=True,按照元素值由小到大的顺序进行排列。也可以设置reverse=False,按照元素值由大到小的顺序进行排列。三、元组
元组(tuple)是Python中另一种内置的存储有序数据的结构。
(1)Python中内置不可变的有序序列。
(2)在形式上,元组的所有元素都放在一对小括号“()”里,两个相邻元素间使用逗号“,”分隔,若只有一个元素,则需要在元素后面括号里面添加“,”。
(3)在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中。三、
元组1.元组创建(空元组)
创建空元组:tuple()函数法。语法格式:tuplename=tuple()>>>m=tuple()>>>m()三、
元组1.元组创建(实体元组)
创建由内容的元组:圆括号()限制元素,逗号,分隔两个相邻元素。>>>m=('Today','is','a','good','day')>>>m('Today','is','a','good','day')三、
元组2.元素读取
语法格式:元组名[索引位置]>>>m=('Today','is','a','good','day')>>>m[2]'a'元组特性:舍弃和灵活性,提高读取性能四、
字典
在Python的数据结构类型中,除了序列数据结构还有一种非常重要的数据结构——映射(Map)。
字典结构是Python中唯一内建的映射类型。与序列数据结构最大的不同是字典结构中每个字典元素都有键(Key)和值(Value)两个属性,可以通过键查找对应的值。四、
字典1.字典创建(赋值法)
赋值法直接创建,语法格式:字典名={key1:value1,key2:value2...}>>>a
=
{'tom':89,
'lucy':78,
'nacy':74,
'chen':45}>>>a{'tom':89,'lucy':78,'nacy':74,'chen':45}四、
字典1.字典创建(键值对)
name_dict=dict(key1=value1,key2=value2,...,keyn=valuen)>>>a_dict=dict(tom=89,lucy=78,李涛=14,chen=45)>>>a_dict{'tom':89,'lucy':78,'李涛':14,'chen':45}
字典定义时,字典的名字要符合变量命名原则采用dict函数是一对小括号()。键和值之间是=,而且采用字符串做键,不添加引号四、
字典1.字典创建(映像函数)
语法格式:name_dict=dict(zip(list1,list2))>>>lst1=['tom','lucy','李涛','zhou']>>>lst2=[100,98,45,46]>>>a_dict=dict(zip(lst1,lst2))>>>a_dict{'tom':100,'lucy':98,'李涛':45,'zhou':46}四、
字典2.字典元素的访问
读取值,语法格式如下:
value=name_dict[key]value=name_dict.get(key)>>>a_dict={'tom':100,'lucy':98,'李涛':45}>>>value1=a_dict['李涛']>>>value145>>>a_dict.get('lucy')98四、
字典3.字典元素的添加和修改
直接赋值法,语法格式如下:
name_dict[key]=value>>>a_dict={'tom':100,'lucy':98,'李涛':45}>>>a_dict['李涛']=58>>>a_dict{'tom':100,'lucy':98,'李涛':58}>>>a_dict['lily']=72>>>a_dict{'tom':100,'lucy':98,'李涛':58,'lily':72}注意:(1)若该“键”存在,则修改该“键”对应的值(2)若不存在,则添加新的“键:值”对四、
字典3.字典元素的添加和修改
更新update()方法,语法格式如下:
name_dict.update(dict)>>>a_dict={'gree':4127,'mark':4127,'jack':4098}>>>b_dict={'gmee':5127,'pang':6008}>>>a_dict.update(b_dict)>>>a_dict{'gree':4127,'mark':4127,'jack':4098,'gmee':5127,'pang':6008}四、
字典4.字典元素的缩减(del\clear\pop)
del函数,语法格式如下:
delname_dict#整体删除delname_dict[key]#删除对应的键值对>>>a_dict={'tom':100,'lucy':98,'李涛':45}>>>dela_dict['tom']>>>a_dict{'lucy':98,'李涛':45}>>>dela_dict>>>a_dictTraceback(mostrecentcalllast):File"<pyshell#16>",line1,in<module>a_dictNameError:name'a_dict'isnotdefined四、
字典4.字典元素的缩减(del\clear\pop)
clear()方法删除字典中所有元素,语法格式如下:
name_dict.clear()>>>a_dict={'tom':100,'lucy':98,'李涛':45}>>>a_dict.clear()>>>a_dict{}四、
字典4.字典元素的缩减(del\clear\pop)
pop()方法,返回与键对应的值,并删除该键值对,语法格式如下:
value=name_dict.pop(key)>>>a_dict={'tom':100,'lucy':98,'李涛':45}>>>a_dict.pop('tom')100>>>a_dict{'lucy':98,'李涛':45}五、
集合
集合(set)属于Python无序可变序列,同一个集合内的每个元素都是唯一的,元素之间不允许重复。
集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。五、
集合1.集合的创建
直接创建:大括号作为定界符,元素之间使用逗号分隔,语法格式:name_set={元素1,元素2,......,元素n}>>>a_set={1,2,3,4,5}>>>a_set{1,2,3,4,5}>>>b_set={1,2,5,3,4,4,5,6,1}>>>b_set{1,2,3,4,5,6}
#重复的自动删除五、
集合1.集合的创建
set()函数创建,语法格式:
name_set=set(seq)>>>a_set=set(range(8,14))>>>a_set{8,9,10,11,12,13}>>>b_set=set([0,1,2,3,0,1,2,3,7,8])>>>b_set{0,1,2,3,7,8}
#重复的自动删除五、
集合2.集合的访问(in\notin)
in用于判断元素是否在集合中,存在返回True,不存在则返回False。语法格式:xinst
>>>a
=
set(('c++','java','python'))>>>'php'inaFalse>>>'python'inaTrue
五、
集合2.集合的访问(in\notin)
notin用于判断元素是否不在集合中,不在返回True,存在则返回False。语法格式:xnotinst
>>>a
=
set(('c++','java','python'))>>>'php'notinaTrue>>>'python'
notinaFalse
五、
集合3.集合元素的增加(add\update)
add()方法可以增加新元素,如果该元素已存在则忽略该操作,语法格式:
set_name.add(元素)>>>st=set(('c++','java','python'))>>>st.add('c++')>>>st{'c++','python','java'}>>>st.add('php')>>>st{'php','c++','python','java'}
五、
集合3.集合元素的增加(add\update)
update()方法合并另一个集合中的元素到当前集合中,并自动去除重复元素,语法格式:
set_name.update(set)>>>st1=set(('c++','java','python'))>>>st2=set(('php','c++',))>>>st1.update(st2)>>>st1{'python','php','c++','java'}五、
集合4.集合元素的缩减(pop\remove\clear)
pop()方法随机删除并返回集合中的一个元素,如果集合为空则抛出异常,语法格式:
set_name.pop()>>>st=set(('c++','java','python'))>>>st.pop()'c++'>>>st.pop()'python'五、
集合4.集合元素的缩减(pop\remove\clear)
remove()方法删除集合中指定元素,如果指定元素不存在则抛出异常,语法格式:
set_name.remove(元素)>>>st=set(('c++','java','python'))>>>st.remove('c++')>>>st{'python','java'}五、
集合4.集合元素的缩减(pop\remove\clear)
clear()方法清空集合删除所有元素,语法格式:
set_name.clear()>>>st=set(('c++','java','python'))>>>st.clear()>>>stset()六、
数据结构的转换
列表、元组和字符串等序列之间的转换可通过如下表中的函数进行相互转换。
函数名描述举例eval(x)将字符串x当做有效表达式求值,并返回计算结果>>>eval('12+34')46tuple(seq)将序列s转换为元组>>>truple([1,2,3])(1,2,3)list(seq)将序列s转换为列表>>>list((1,2,3))[1,2,3]set(seq)将序列s转换为集合>>>set([1,4,2,4,3,5]){1,2,3,4,5}dict(d)创建字典>>>dict([(’a’,1),(’b’,2),(’c’,3)]){‘a’:1,’b’:2,’c’:3}Python语言基础与应用Python语言基础与应用03运算符与表达式PYTHON目录CONTENTS0102033.1变量3.2运算符3.3表达式TEACH0102033.1变量3.2运算符3.3表达式算术运算符比较运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符3.1变量变量计算机语言中变量的概念来源于数学。数学:用拉丁字母表示的、值不确定的数据。计算机:值或存储计算结果的抽象概念。标识符用来表示程序的各种成分。S=a*b(1)变量名只能包含字母、数字和下划线。变量名可以使用字母或下划线开头,但不能使用数字开头。(2)变量名不能包含空格或标点符号,但可以使用下划线来分隔单词。(3)不能将Python关键字、函数名、模块名、类型名等用于特殊用途的单
词作为变量名使用。标识符的命名规则:['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is',
'lambda',
'nonlocal','not','or','pass','raise','return','try','while','with','yield']>>>importkeyword>>>keyword.kwlist(4)避免使用容易和其他字符混淆的单个字符作为标识符。(5)标识符区分大小写。(6)以双下划线开头的标识符具有特殊的意义,是Python中的专用标识符。(7)变量名应既简短又具有描述性,便于阅读程序。标识符的命名规则:变量具有如下特点:(1)变量在使用前必须赋值,变量在第一次赋值时被创建,使用“=”给变量赋值。一个变量可以通过赋值指向不同类型的对象。变量可以存储规定范围内的值,而且值可以更改。Python中的变量不需要特殊说明,而是通过赋值直接创建。例:>>>x=1
#第一次给变量x赋整数值>>>x,type(x),id(x)
#输出变量x的值、数据类型和地址(1<class'int'>140721868969632)>>>x=2.0
#第二次给变量x赋浮点数值>>>x,type(x),id(x)
#输出变量x的值、数据类型和地址(1.0<class'float'>2082995603472)在给变量赋值时,变量在获得值的同时,也获得了它的数据类型。(2)变量在表达式中将被替换为具体的值。例:>>>x=6>>>y=x*3>>>y183.2运算符运算符运算符决定了操作对象的行为,不同的对象支持的运算符也有所不同,同一运算符作用于不同的对象也可能表现出不同的行为。算术运算符比较运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符一、算术运算符运算符名称功能说明示例+加两个操作数相加x+y,结果为7−减将操作数的正负取反,或一个操作数减去另一个操作数x−y,结果为3*乘两个操作数相乘x*y,结果为10/除两个操作数相除(除数不能为0)x/y,结果为2.5//整除两个操作数相除,获取商的整数部分x//y,结果为2%取余两个操作数相除,获取余数x%y,结果为1**幂两个操作数进行幂运算x**y,结果为25Python支持的算术运算符,都是双目运算符。以变量x=5,y=2为例。Python中的算术运算符既支持相同类型的数值运算,也支持不同类型的数值混合运算。临时转换原则:(1)整型与浮点型进行混合运算时,将整型转换为浮点型。(2)其他类型与复数类型进行混合运算时,将其他类型转换为复数类型。例:>>>2+3.0
#整数与浮点数相加5.0>>>2+(3+4j)
#整数与复数相加(5+4j)注意:两个整数进行除运算时,结果类型为浮点数。二、赋值运算符基本赋值运算符是“=”。作用:将运算符右侧的表达式或对象写入运算符左侧。特点:从右到左的单向过程。例如:x=5赋值运算符允许同时为多个变量赋值(1)为多个变量赋相同值例:x=y=z=2(2)为多个变量赋不同值例:x,y,z=3,5,8复合赋值运算符名称功能说明示例+=变量增加指定数值,结果赋值原变量x+=2等价于x=x+2−=变量减去指定数值,结果赋值原变量x−=2等价于x=x−2*=变量乘以指定数值,结果赋值原变量x*=2等价于x=x*2/=变量除以指定数值,结果赋值原变量x/=2等价于x=x/2//=变量整除指定数值,结果赋值原变量x//=2等价于x=x//2%=变量执行取余运算,结果赋值原变量x%=2等价于x=x%2**=变量执行幂运算,结果赋值原变量x**=2等价于x=x**2海象运算符例:>>>x=2>>>y=x+(z:=3)>>>y5在表达式内部为变量赋值的运算符——海象运算符,表示方式为:“:=”。三、比较运算符也称关系运算符,用于对两个操作对象的大小进行比较。以变量x=5,y=2为例。运算符名称功能说明示例==相等比较两个操作数是否相等,如果相等返回True,反之返回Falsex==y,返回False!=不等比较两个操作数是否相等,如果不相等返回True,反之返回Falsex!=y,返回True>大于比较左操作数是否大于右操作数,如果大于返回True,反之返回Falsex>y,返回True>=大于或等于比较左操作数是否大于或等于右操作数,如果大于或等于返回True,反之返回Falsex>=y,返回True<小于比较左操作数是否小于右操作数,如果小于返回True,反之返回Falsex<y,返回False<=小于或等于比较左操作数是否小于或等于右操作数,如果小于或等于返回True,反之返回Falsex<=y,返回False使用比较运算符进行比较时遵循以下原则:(1)若两个操作数是数字,则按数值大小进行比较。(2)若两个操作数是字符,则按字符的ASCII码值从左到右逐位进行比较。例:ord('A')=65,ord('B')=66>>>'A'<'B'True>>>"AB"<"AA"False四、逻辑运算符逻辑运算符可以把多个条件按照逻辑关系进行连接,变成更为复杂的条件。运算符名称功能说明not取反运算符当操作数为假时,结果为真;当操作数为真时,结果为假and与运算符当两个操作数同时为真时,结果为真;否则结果为假or或运算符当两个操作数同时为假时,结果为假;否则结果为真(1)操作数的值为布尔值时例:>>>notFalseTrue>>>notTrueFalse>>>TrueandTrueTrue>>>TrueandFalseFalse>>>FalseandTrueFalse>>>FalseandFalseFalse>>>TrueorTrueTrue>>>TrueorFalseTrue>>>FalseorTrueTrue>>>FalseorFalseFalse(2)操作数为数值时,以变量x=5,y=2为例运算符逻辑表达式功能说明示例andxandy如果两个操作数的布尔值均为True,则结果为yxandy的结果为2orxory如果两个操作数的布尔值均为True,则结果为xxory的结果为5五、成员运算符成员运算主要用于字符串、列表或元组等数据类型,判断“在”或“不在”的关系。运算符功能说明示例in如果在序列内找到指定的值则返回True,否则返回Falsexiny,如果x在y中返回True,否则返回Falsenotin如果在序列内不能找到指定的值则返回True,否则返回Falsexnotiny,如果x不在y中返回True,否则返回False例:>>>"p"in"python"True>>>"e"notin"python"True>>>"e"in"python"False六、身份运算符又称同一运算符,用于比较两个对象的存储关系。运算符功能说明示例is判断两个变量是否引用同一对象xisy,类似于id(x)==id(y),如果x和y引用同一对象则返回True,否则返回Falseisnot判断两个变量是否引用不同对象xnotisy,类似于id(x)!=id(y),如果x和y不是引用同一对象则返回True,否则返回False例:>>>x=y=2>>>z=2>>>xisyTrue>>>xiszTrue>>>xisnotyFalse七、位运算符先将整数转换为二进制数字,然后右对齐,必要时在左侧补0,再按位进行运算,最后再把计算结果转换为十进制数字返回。以变量x=5,y=2为例。运算符名称功能说明示例<<按位左移操作数的各二进制位全部左移若干位,由<<右侧的数字指定移动的位数,高位丢弃,低位补0x<<y,结果为20>>按位右移操作数的各二进制位全部右移若干位,由<<右侧的数字指定移动的位数,低位丢弃,高位补0x>>y,结果为1&按位与参与运算的两个操作数,如果相应位都为1,则该位的结果为1,否则为0x&y,结果为0|按位或参与运算的两个操作数,如果相应位至少有1个为1,则该位的结果为1,否则为0x|y,结果为7^按位异或参与运算的两个操作数,如果相应位不同,则该位的结果为1,否则为0x^y,结果为7~按位取反对操作数的每个二进制位取反,即把1变为0,把0变为1~x,结果为-6例:(1)数值5按位左移2位运算(5<<2)5按位左移2位的结果为20例:(2)数值5按位右移2位运算(5>>2)5按位左移2位的结果为1例:(3)数值5和2按位与运算符(5&2)5和2按位与运算的结果为0例:(4)数值5和2按位或运算符(5|2)5和2按位或运算的结果为7例:(5)数值5和2按位异或运算符(5^2)5和2按位异或运算的结果为7例:(6)数值5按位取反运算符(~5)5按位取反运算的结果为-63.3表达式表达式任何程序都是由“语句”构成的,一条表达式语句就是一个表达式,每个表达式都具有特定的值。运算符操作数一、表达式组成规则Python表达式主要涉的问题:(1)如何用Python表达式表示自然语言。(2)如何将数学表达式转换为Python表达式。规则:(1)乘号不能省略。(2)括号必须成对出现。(3)运算符不能相邻。例:ab→a*b例:a*/b表达式错误步骤:(1)添加必要的运算符。(2)添加必要的函数。数学表达式转换为Python表达式二、表达式计算运算符的优先级按从高到低的顺序:运算符名称**幂运算符(最高优先级)~、−按位取反、正负号取反运算符*、/、//、%乘、除、整除和取余运算符+、−加、减运算符<<、>>按位左移、按位右移运算符&按位与运算符|、^按位或、按位异或运算符>、>=、<、<=大于、大于或等于、小于、小于或等于运算符==、!=等于、不等运算符=、+=、−=、*=、/=、//=、%=、**=赋值运算符is、isnot身份运算符in、notin成员运算符not逻辑运算符and逻辑运算符or逻辑运算符例:5+(8-2)*35%2+2**3三、表达式的注意事项(1)Python可以同时为多个变量赋值。(2)一个变量可以通过赋值指向不同类型的对象。(3)在使用除法运算符“/”进行运算时,总是返回一个浮点数,如果想要获取整数结果,则应使用整除运算符“//”。(4)在对不同数据类型的对象进行混合运算时,Python会把整数自动转换为浮点数。(5)字母必须加上引号,否则系统会给出错误提示。Python语言基础与应用Python语言基础与应用04流程控制结构PYTHON目录CONTENTSTEACH01020304程序设计流程顺序结构选择结构循环结构05程序编写格式赋值语句输入语句输出语句格式化语句01020304程序设计流程顺序结构选择结构循环结构05程序编写格式单分支结构双分支结构多分支结构分支嵌套01020304程序设计流程顺序结构选择结构循环结构05程序编写格式while循环for循环循环嵌套01020304程序设计流程顺序结构选择结构循环结构05程序编写格式4.1程序设计流程程序设计流程特征:(1)输入性(2)输出性(3)有穷性(4)确定性(5)可行性一、算法评定标准:(1)正确性(2)可读性(3)健壮性(4)时间复杂度(5)空间复杂度算法是解决问题的逻辑、方法、过程。优点:(1)图形绘制简便。(2)结构清晰,逻辑性强。(3)便于描述,易于理解。二、程序流程图描述算法时应用最广泛的是流程图(又称框图)。流程图符号:输入框和输出框开始框和结束框箭头执行框判别框4.2顺序结构顺序结构是最简单的流程控制结构,程序按照语句书写的先后顺序依次执行。顺序结构语句赋值语句输入语句输出语句格式化语句一、赋值语句赋值语句简单赋值语句:复合赋值语句:多变量赋值语句:变量=表达式变量op=表达式链式赋值语句同步赋值语句Python提供了input()输入函数。二、输入语句>>>m=input("Pleaseinputanumber:")Pleaseinputanumber:316>>>m'316'(1)使用表达式语句输出表达式的值,仅适用于交互模式。三、输出语句实现方式:例:>>>x=316
>>>y=505
>>>x+y
821(2)程序内置的print()函数,同时适用于交互模式和脚本模式。例:1)交互模式
>>>x,y=316,505
>>>print(x+y)
8212)脚本模式
x,y=316,505
print(x+y)
运行结果:821使用print()函数,可以输出多个输出项的值。print([输出项1],[输出项2,…,输出项n][,sep=分隔符][,end=结束符])语法格式如下:例:
x,y=316,505
print(x,y,sep=",")运行结果:
316,505四、格式化语句格式化字符串格式化:输出数据格式化eval()函数%运算符str.format()函数eval()函数可以将字符串转换为整数、浮点数、列表、元组、字典等数据类型。(1)eval()函数例:>>>a="23">>>type(a)<class'str'>>>>eval(a)23>>>type(eval(a))<class'int'>>>>type(a)<class'str'>
语法格式:print(“格式字符串”%(输出项1,……,输出项n))(2)格式化运算符“%”格式字符串普通字符格式说明符:%格式标识符常用的格式说明符:格式说明符功能说明%%输出百分号%d输出十进制整数%c输出字符,等价于chr(num)函数%s输出字符串%o输出八进制整数%x或%X输出十六进制整数%e或%E以科学计数法输出浮点数%[0][-][+][w][.p]f0:填充符号;-:左对齐(默认右对齐);+:在正数前加“+”,默认不显示;w:数据长度,默认为0;.p:小数部分位数,默认为6位;f:浮点型例:将李雷的个人信息格式化输出name="李雷"sex="男"age=20mark=86.7329telrint("姓名:%s,性别:%s,年龄:%d岁,分数:%.2f,联系方式:%s。"
%(name,sex,age,mark,tel))运行结果:
姓名:李雷,性别:男,年龄:20岁,分数:86.73,联系方式语法格式:print(“str”.format(输出项1,……,输出项n))(3)str.format()函数格式说明符使用“{}”称为槽。槽内格式化配置的语法格式:{<参数符号>:格式控制符}格式控制符:填充对齐宽度,.精度类型引导符号单个字符<左对齐>右对齐^居中对齐字符串长度千位分隔符浮点数小数精度或字符串长度整数:c、b、o、d、x、X浮点数:e、E、f、%例:将李雷的个人信息格式化输出name="李雷"sex="男"age=20mark=86.7329telrint("姓名:{0},性别:{3},年龄:{2}岁,分数:{4:.2f},联系方式:{1}。".format(name,tel,age,sex,mark))运行结果:
姓名:李雷,性别:男,年龄:20岁,分数:86.73,联系方式结论:str.format()函数在使用中的灵活性更高4.3选择结构选择结构选择结构根据条件表达式的值(True或False)选择不同的语句执行,条件分支让程序有了判断力,通过if语句来实现。单分支结构多分支结构双分支结构一、单分支结构(if语句)只有一个执行分支的程序结构称为单分支结构。语法格式:if条件表达式:语句块例:获取用户随机输入的两个整数,输出其中较大的值。m
=
input("请输入第一个整数:")n
=
input("请输入第二个整数:")big
=
mifbig
<
n:big
=
nprint("比较{}和{},较大的是{}".format(m,n,big))运行结果:
请输入第一个整数:26
请输入第二个整数:38
比较26和38,较大的是38二、双分支结构(if-else语句)有两个执行分支的程序结构称为双分支结构。语法格式:if条件表达式:语句块1else:语句块2简化形式:<语句块1>if<条件表达式>else<语句块2>例:获取用户随机输入的两个整数,输出其中较大的值。m
=
input("请输入第一个整数:")n
=
input("请输入第二个整数:")ifm
>
n:big
=
melse:big
=
nprint("比较{}和{},较大的是{}".format(m,n,big))运行结果:
请输入第一个整数:26
请输入第二个整数:38
比较26和38,较大的是38三、多分支结构(if-elif-else语句)有多个执行分支的程序结构称为多分支结构。语法格式:if条件表达式1:语句块1elif条件表达式2:语句块2……elif条件表达式n:语句块nelse:语句块n+1例:将成绩从百分制转化为等级制。mark=eval(input("请输入百分制的整数成绩:"))ifmark<60:print("{}分的等级制成绩为:不及格".format(mark))elifmark<70:print("{}分的等级制成绩为:及格".format(mark))elifmark<80:print("{}分的等级制成绩为:中等".format(mark))elifmark<90:print("{}分的等级制成绩为:良好".format(mark))else:print("{}分的等级制成绩为:优秀".format(mark))四、分支嵌套if结构中的语句块也是if语句。语法格式:if条件表达式1:if条件表达式2:语句块1else:语句块2else:语句块3例:获取用户输入值,判断其是否能被3或5整除。number=int(input("请输入一个整数:"))ifnumber%3==0:ifnumber%5==0:print("{}即能被3整除,也能被5整除".format(number))else:print("{}能被3整除,但不能被5整除".format(number))elifnumber%5==0:print("{}能被5整除,但不能被3整除".format(number))else:print("{}即不能被3整除,也不能被5整除".format(number))4.4循环结构循环结构循环结构在给定条件成立时,反复执行某个语句块,直到条件不成立为止。给定的条件称为循环控制条件,反复执行的语句块称为循环体。while循环for循环一、while循环语法格式:while条件表达式:语句块与循环控制变量有关的3个表达式:有初始:用于为循环控制变量赋初值,表达式1。有条件:用于判断是否执行循环体,表达式2。有变化:用于改变循环控制变量,防止死循环,
表达式3。sum
=
0i
=
1whilei
<=
10:sum
=
sum+ii
=
i+1print("1~10的整数和为:"+str(sum))运行结果:
1~10的整数和为:55有初始有变化有条件例:应用while循环语句计算1~10的整数和。循环结构中使用可选的else子句。语法格式:while条件表达式:语句块1else:语句块2注意:只有当while循环正常结束时,才会执行else子句。二、for循环语法格式:for变量in遍历对象:
语句块例:已知唐朝诗人列表和宋朝诗人列表,依次打印诗人的姓名,并说明是哪个朝代的诗人。list_tang=["李白","杜甫","王维","孟浩然"]list_song=["苏轼","苏辙","王安石","李清照"]foriinlist_tang:print(i+"是唐朝诗人")foriinlist_song:print(i+"是宋朝诗人")运行结果:李白是唐朝诗人杜甫是唐朝诗人王维是唐朝诗人孟浩然是唐朝诗人苏轼是宋朝诗人苏辙是宋朝诗人王安石是宋朝诗人李清照是宋朝诗人例:应用for循环语句计算1~10的整数和。sum=0foriinrange(1,11):sum
+=
iprint("1~10的整数和为:"+str(sum))运行结果:
1~10的整数和为:55例:应用for循环语句计算1~10的整数和。sum
=
0m
=
1foriinrange(10):sum+=mm
=
m
+
1print("1~10的整数和为:"+str(sum))运行结果:
1~10的整数和为:55循环结构中使用可选的else子句。语法格式:for变量in序列:
语句块1else:
语句块2注意:只有当for循环正常结束时,才会执行else子句。三、循环嵌套一个循环体中嵌入另一个循环体。设计思路:步骤一:保留其中一层循环的变量,并将另一层的变量设为定值,实现单重循环。步骤二:将另一层的变量从定值改为变量,将单重循环转变为二重循环。注意事项:(1)外层循环和内层循环的控制变量不能同名,以免造成混乱。(2)循环嵌套应逐层缩进,以保证逻辑关系的清晰。(3)循环嵌套不能交叉。例:鸡兔同笼问题。鸡兔共有20只,脚共有50个,鸡和兔各有多少只?运行结果:
鸡的数量是:15只
兔的数量是:5只forxinrange(1,21):foryinrange(1,21):ifx+y==20and2*x+4*y==50:print("鸡的数量是:{:>2}只".format(x))print("兔的数量是:{:>2}只".format(y))四、跳出循环(1)break语句:跳出本层循环例:获取用户输入的字符串,遍历字符串中的字母,并逐一打印,字母间以空格间隔,当遇到“t”或“T”时结束遍历,同时输出“遇到t停止打印”。str=input("请输入一些英文字母:")foriinstr:ifi=="t"ori=="T":print("t","遇到t停止打印")breakelse:print(i,"",end="")运行结果:请输入一些英文字母:continuecont遇到t停止打印(2)continue语句:跳出本轮循环例:分别使用continue语句和break语句遍历单词“Python”中的所有字母,当遇到“h”时跳转。foriin"Python":ifi=="h":continueprint(i,"",end="")运行结果:Pytonforiin"Python":ifi=="h":breakprint(i,"",end="")运行结果:Pyt(3)pass语句:占位语句例:遍历“Python”的所有字母,遇到“h”时输出“敬请期待”。foriin"Python":ifi=="h":passprint("敬请期待")else:print("当前字母为:"+i)print("结束!")运行结果:当前字母为:P当前字母为:y当前字母为:t敬请期待当前字母为:o当前字母为:n结束!4.5编写格式一、缩进优点:缩进使代码具有层次性,大幅度提高其可读性。代码块缩进是语法要求,代码块必须缩进,否则会出现语法错误。foriinrange(0,10):
print(i)二、多行书写list_sports_pingpong=["王楠","马龙","王励勤","马琳"]list_sports_diving=["伏明霞","吴敏霞","郭晶晶","田亮"]list_spo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年)施工高处作业安全技术规范试题含答案
- 大数据驱动需求预测-第1篇-洞察与解读
- (2025年)gmp试题及答案(全文)
- 人防设施施工工艺与技术标准
- 海洋科技公司年终总结报告
- 化工中控员考试题及答案
- 升压变电站试题及答案
- 芒果包装材料选择与设计方案
- 废弃矿山重度污染土壤修复方案
- 出口产品考试题
- 2025年陕西省招聘社区工作者考试应知应会题库(附答案)
- 2025版安全生产法
- 《教师职业道德与专业发展》自考试题及答案(一)
- 商场消防安全用电知识培训课件
- 《基层常见病诊疗指南》
- 货运信息中介公司领导管理细则
- 2025年中国出版集团有限公司校园招聘笔试参考题库附带答案详解
- 集装箱驾驶员管理制度
- 电视纪录片拍摄的策划方案
- DB41∕T 727-2021 雷电防护装置检测应检部位确定
- 产科四步触诊教学课件
评论
0/150
提交评论