Python程序设计基础教程课件 第01章 程序设计概述_第1页
Python程序设计基础教程课件 第01章 程序设计概述_第2页
Python程序设计基础教程课件 第01章 程序设计概述_第3页
Python程序设计基础教程课件 第01章 程序设计概述_第4页
Python程序设计基础教程课件 第01章 程序设计概述_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

Python程序设计基础教程

第1章程序设计概述提纲计算机概述程序设计语言Python程序的运行对象基础程序规范学习目标识别计算机的种类阐述各类编程语言的特点列举对象的特性初步使用IDLE1.1计算机概述计算机分类按计算能力超级计算机大型机个人计算机嵌入式计算机按功能作用服务器工作站工控机网络设备PersonalComputerSuperComputer人与计算机人机界面(UI)输出输入输入输出计算机逻辑结构图输入设备输出设备内存控制器运算器中央处理器数据流控制流主

箱程序驻留于此,决定“数据流”及“控制流”的运动。9常见的输入和输出设备输入设备鼠标键盘扫描仪游戏杆麦克风摄像头穿戴设备(体感输入)输出设备显示器打印机音箱输入输出设备触摸屏耳麦网卡硬盘常见操作系统及其开发商开发商台式机笔记本电脑平板电脑智能手机微软公司视窗(Windows)WindowsPhone苹果公司MacOSiOS开源软件Linux//谷歌公司//安卓(Android)华为公司鸿蒙(HarmonyOS)1.2程序设计语言一个简单的程序设计例子阶段描述问题计算1、2、3、...、n-1、n这n个数的平均值数据结构1—n是一组数,故用线性结构来存放这n个数算法第1步:对线性结构求和,第2步:这个和再除以数的个数源码average.pyn=eval(input("请输入n的值:"))data=range(1,

n+1)#在Python中,range是一种(但非唯一)具有线性结构的数据类型ave=sum(data)/len(data)#把算法的两个步骤在一个式子中体现print(ave)测试多次运行,每次输入不同的值,检查输出结果是否正确,以确定问题是否得以解决。机器语言自然语言汇编语言高级语言?人工智能语言便于计算机理解便于人类理解汇编编译LDGR0,RADDGR0,GR1……a=2b=3c=a+bprint(c)

求2与3之和0101011110110001……高级语言的分类面向过程语言程序必须详细地描述解题的过程和细节。面向对象语言把问题中的对象抽象成类,利用继承机制及多态特性提高程序的开发效率、改善程序的可靠性及可维护性。面向问题语言程序只需告诉计算机做什么,不必告诉计算机如何做。应用范围较窄。面向过程算法示例打开病历文件。当文件未到末尾时重复执行以下操作:读取文件中的下一条记录。如果当前记录的病历号是34629,则结束步骤2。关闭病历文件。打印查找结果,显示病人信息或者显示未找到。打开病历文件关闭病历文件EndofFile?读取文件中下一条记录当前记录的病历号=34629?YesNoYesNo打印查找结果Python语言吉多·范罗苏姆(GuidovanRossum)Python2Python3Python语言特点简洁易读面向对象解释执行可移植性可扩展性丰富的库1.3Python程序的运行PythonIDEPyCharmVSCodeSpyderJupyterNotebookIDLEPython安装交互模式运行常用的交互语句查看Python版本查看当前时间查看当前文件夹位置改变当前文件夹位置简单的算术运算常用的数学函数随机数函数简单输入与输出获取帮助信息脚本模式运行新建保存运行print("HelloFudan")#1defgreet():#2print("Howareyou?")#3print("Whereareyoufrom?")#4print("HelloShanghai")#5greet()#6print("HelloFudan")#1defgreet(name):#2print("Howareyou?",name)#3print("Whereareyoufrom?",name)#4print("HelloShanghai")#5greet("李四")#6name=input("请输入姓名:")#7greet(name)#81.4对象基础对象的三个特性标识表示对象内存块在整个内存中的位置,用id(.)函数查看对象标识。类型决定对象内存块内部的组织结构,用type(.)函数查看对象类型。数据对象内存块所包含的数据内容,在对象创建时设置,有些对象允许数据更新。对象类型及示例对象类型类型描述示例值可变与否int整数123,-4923不可变float浮点数0.456,-87.55不可变complex复数-85.6+0.3j,3-4j不可变str字符串"fudan123","上海"不可变datetime.date日期datetime.date(2024,5,27)不可变datetime.time时间datetime.time(15,20,56)不可变datetime.datetime日期时间datetime.datetime(2024,1,6,20,15,30)不可变list列表[2,6,3.5],["上海","北京",12345]可变tuple元组(4,5.9,3,-1),(598,"复旦大学","北京大学")不可变dict字典{101:[1,2],23:"Fudan"},{"A":95,"E":82,"T":92}可变set集合{8,2.4,9,"复旦大学"},{"Fudan","清华大学",3.14159}可变io.IOBase及其子类型文件open("d:\\mypythons\\abcd.txt","r")不可变bool逻辑类型True,False不可变NoneType空类型None不可变types.BuiltinFunctionType内置函数print,math.sin不可变types.FunctionType函数deffun():print("HelloWorld!")不可变types.ModuleType模块math,random不可变变量与赋值x=100x100运算中不可变对象不会改变其数据>>>x=5>>>x=x+1>>>x6标识符命名规则变量名必须由字母、数字和下划线(_)组成,可以是任意长度;变量名必须以字母或下划线(_)开头,不能以数字开头;变量名不能是关键字。关键字也称为保留字,在Python中有特殊的含义;内置函数名、模块名也不应该用作变量名,否则内置函数或模块会被覆盖。Python关键字30赋值示例>>>myPrint=print>>>myPrint("HelloFudan")HelloFudan>>>importrandom>>>rFun=random.randint>>>rnd=rFun(1,9)>>>rnd7>>>importmath>>>m=math>>>m.sin(m.pi/2)1.0>>>x=1.5>>>x="fudan123">>>x=[5,7.3,8.2,4]>>>x=2+3*4/3.6>>>x=x**(1/2)>>>importmath>>>x=x+math.sin(2*x)>>>name=input("请输入姓名:")请输入姓名:Tommy>>>print("Hello",name)HelloTommy多变量赋值变量1,变量2,…,变量n=表达式1,表达式2,…,表达式n变量1=变量2=…=变量n=表达式>>>x,y=4,9>>>x,y=(x+y)/2,(x*y)**(1/2)>>>x6.5>>>y6.0>>>x,y=y,x>>>x6.0>>>y6.5>>>a=b=c=589>>>a589>>>b589>>>c589类型检查type(.)isinstance(.)>>>x=1.5>>>type(x)<class'float'>>>>type(x)==floatTrue>>>isinstance(x,float)True>>>isinstance(x,int)False>>>x="上海复旦">>>type(x)<class'str'>>>>type(x)==strTrue>>>isinstance(x,str)True>>>isinstance(x,list)False>>>importdatetime>>>current=datetime.datetime.now()>>>type(current)<class'datetime.datetime'>>>>type(current)==datetime.datetimeTrue>>>isinstance(current,datetime.datetime)True>>>isinstance(current,datetime.time)False>>>p=print>>>type(p)<class'builtin_function_or_method'>>>>importtypes>>>type(p)==types.BuiltinFunctionTypeTrue>>>isinstance(p,types.BuiltinFunctionType)True>>>isinstance(p,types.FunctionType)False>>>importmath>>>m=math>>>type(m)<class'module'>>>>type(m)==types.ModuleTypeTrue>>>isinstance(m,types.ModuleType)True>>>isinstance(m,types.MethodType)False>>>f=open("D:\\mydata\\books.txt","r")>>>type(f)<class'_io.TextIOWrapper'>>>>importio>>>type(f)==io.TextIOWrapperTrue>>>isinstance(f,io.IOBase)True等值与等同等值判断(==、!=)等同判断(is、isnot或者id(.)是否相等)>>>x=4.6>>>y=4.6>>>z=y>>>x==yTrue>>>xisyFalse>>>id(x)!=id(y)True>>>x==zTrue>>>xiszFalse>>>id(x)==id(z)False>>>y==zTrue>>>yiszTrue>>>id(y)==id(z)True>>>yisnotzFalse>>>id(y)!=id(z)Falsex4.6y4.6z缓存复用闭区间[-5,256]内的整数逻辑值(即True与False)较短的字符串>>>x=100>>>y=100>>>x==yTrue>>>xisyTrue>>>id(x)==id(y)True1.5程序规范模块导入import模块名from模块名import对象名from模块名import对象名as别名>>>importmath>>>math.sin(3)0.1411200080598672>>>frommathimportsin>>>sin(3)0.1411200080598672>>>frommathimportsinasf>>>f(3)0.1411200080598672模块查找首先,在当前文件夹中查找模块源码文件;其次,从sys.path所指定的多个文件夹中查找模块源码文件。>>>importsys>>>sys.path['','C:\\ProgramFiles\\Python311\\Lib\\idlelib','C:\\ProgramFiles\\Python311\\python311.zip','C:\\ProgramFiles\\Python311\\DLLs','C:\\ProgramFiles\\Python311\\Lib','C:\\ProgramFiles\\Python311','C:\\ProgramFiles\\Python311\\Lib\\site-packages']>>>sys.path.append("d:\\MyPythonLib")>>>sys.path['','C:\\ProgramFiles\\Python311\\Lib\\idlelib','C:\\ProgramFiles\\Python311\\python311.zip','C:\\ProgramFiles\\Python311\\DLLs','C:\\ProgramFiles\\Python311\\Lib','C:\\ProgramFiles\\Python311','C:\\ProgramFiles\\Python311\\Lib\\site-packages','d:\\MyPythonLib']__name__属性每个Python源码文件在运行时都有一个名为__name__的属性。如果该源码文件作为模块被import语句加载,则其__name__属性的值被设置为模块名,即文件名(不含后缀);如果该源码文件作为程序独立运行,则其__name__属性的值被设置为"__main__"。if__name__=="__main__":fun()代码注释行注释#块注释'''或者"""#这条语句显示HelloWorldpr

温馨提示

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

评论

0/150

提交评论