




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【Python讲义】 Python疯狂讲义2019.3 济宁 第一部分 初识Python 1、Python语言简介及其特色 l Python高效强大:它有非常完善的基础代码库(标准库,开源库,自定义模块),有庞大的外围库来支持。在科学计算、人工智能、大数据、云计算等诸多领域有着丰富的应用。l Python易学易读:它被誉为最容易上手的编程语言,语法简单,高效灵活,学习的曲线平缓。l Python资源丰富:开发者社群强大,容易获取学习资源。l Python开源跨平台:Python 可以跨平台运行,并且已经开放源代码超过20年的时间了,代码可以在Linux,Windows 以及 macOS 上同时运行。Python的应用领域: 命令行窗口 图形界面 大型网站后端 嵌入式开发 云服务 * 请参考第九部分Python与Excel和Python网站图片抓取案例,体验Python的简洁与强大。2、Python开发环境搭建 1 访问Python官方网站:/,在Downloads频道中,查找适配的Windows版本。2 在下载频道(win版本)中,提供了2.X和3.X版本Python的下载,推荐选择最新的(目前3.7.2)版本。3 选择适合自己操作系统(32位,64位)的安装包。建议选择32位安装包。4 启动安装流程,在第一个界面上选择“自定义安装”(推荐) 特别提醒:勾选“Add Payton 3.7 to PATH”。5 在第2个安装界面,勾选如图的安装选项。特别提醒:勾选pip选项 6 在第3个安装界面,修改自定义安装位置(如左图红色标记处),其余保持默认。之后,点击“Install”开启安装。7 看到“Setup was successful”字样,表示安装成功,按“Close”关闭窗口 8 在“开始”菜单搜索框中输入“python”关键词,即可看到以上的程序项。3、Hello,World我们第一个Python程序 (1)启动Python命令行,键入代码 print(“Hello, World!”) 回车后得到如右图的输出 (2)print是python的内置输出函数,它可以用于各种类型数据常量、变量的输出,还可用于格式化数据的输出。例1-1: s = “A New Story” c = len(s) print(“the Word is %s, the length is %d” %(s,c) 格式化字符串代码 格式 描述 % 百分号标记 %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e) %f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f) %G 浮点数字(类似于%g) %p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中 (3)使用print函数格式化输出的例子-小儿歌。例1-2: duo = “多多“ ge = “哥哥“ guo = “果果“ print(“%s和%s“ %(duo,ge) print(“坐下分%s“ %(guo) print(“%s让%s“ %(ge,duo) print(“%s让%s“ %(duo,ge) 4、基本数学运算 加法+ 减法- 乘法* 除法/ print(9.1+3.2) print(17-2) print(3.2*9.1) print(5/2) 取余 整除 幂运算 print(9%4) print(15.4 /3) print(4 * 3) 组合各种不同的数学运算符进行运算 96.22+4.21.1 S=r2 圆形面积计算 三角形面积计算 print(9*(6.2*2)+4.2/1.1) print(3.14*(2.1)*2) print(5+8)*7/2) 例1-3:完成算式的计算(参考代码如下) (1)85.53-2510.68 (2)半径9.5的圆形面积 (3) 43除以9的余数与整除 (1) print(8*5.5*3-2/5*10.6/8) (2) print(3.14*9.5*2) (3) print(43 % 9) (4) print(43 / 9) 注意: (1)区别除(/)与整除(/),如5/2=2.5与5/2=2。(2)整除同样可进行浮点运算,得到整除结果。5.0/2.0=2.0. (3)取余操作同样可进行浮点运算,如5.0 % 2.0 = 1.0. (4)在Shell环境中,可以不用输入print,可直接输入数据进行计算 5、IDLE环境及py文件编辑 (1) IDLE 是一个纯 Python 下自带的简洁的集成开发环境(IDE),尝试启动IDLE. (2) 尝试使用IDLE创建Python脚本文件. (3) IDLE为开发人员提供了许多有用的特性,如自动缩进、语法高亮显示、单词自动完成以及命令历史等等,在这些功能的帮助下,能够有效的提高我们的开发效率。(4) 使用IDLE运行程序,即可Shell窗口运行程序。注:#为python的注释行 (5)多行代码语句的程序建议使用IDLE进行编辑,较少代码的试验可使用Python命令行。6、静态语言与脚本语言 静态语言要将源代码一次性编译成为可执行的代码,供计算机执行。脚本语言要通过解释器逐条解释执行。Java / C / C+ / C# / Pascal Javascript / PHP / Python 两种类型语言在执行速度、维护方便程度上各有特色,但本身无优劣之分 实践任务 (1)尝试完成实践创新01(详见资源目录 L01Practice0101.py) (2)尝试完成实践创新02(详见资源目录 L01Practice0102.py) (3)开启IDLE,创建新脚本文件,计算2423与24+3的结果,验证同底数幂的乘法法则(详见资源目录 L01Practice0103.py) 第二部分 Python变量 1、变量 Python中变量用于表示内存中一定空间存储的值,Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。变量赋值(例2-1) 变量赋值 nm = “李小明” print(nm) 变量自增 age = 15 age = age + 1 print(age) 2、案例01圆形面积计算器 r = 5 # 圆形的半径 s = 3.14 * r * 2 #圆形面积 print(s) (1)定义变量 r ,并为其赋值为5 (2)定义变量 s ,并将面积结果计算并赋值 3、变量命名规则(系统保留字) (1)命名规则是一种惯例,并无绝对强制性 # 可读性低的代码 asdf = 1.975 ;变量应易识别和可读性高; # 可读性高的代码 stuName = “张三” (2)变量命名不得使用系统关键字、保留字; and as assert break class def del continue for finally from global if raise try with yield print is in (3)Python变量区分大小写; StuName 与 stuName 是两个变量 (4)推荐驼峰命名。studentName studentname workMachineCode workmachinecode 4、数据类型 (1)五种基本数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典) (2)数字类型的分类 整型 int 十进制10,八进制数0o10,二进制0b10,十六进制0x10 浮点型 float 3.1415 布尔型 bool True, False 复数型 complex 实部+虚部组成,如 2+1.5j (3)数据类型的获取type函数 type(9.15) type(0x55a) (4)数据输入与类型转换 通过input输入数据 通过类型转换得到结果 name=input(“请输入姓名:“) age = int(input(“请输入年龄:“) print(“%s 年龄=%d“ %(name,age) 转换浮点型float() r = float(input(“输入半径:”) s=3.14*r*2 print(“圆面积为:%f” %s) (5)认识各种类型的数据。例2-2: a = 123 type(a) a=123.123 type(a) a=”123” type(a) a=1,2,3 type(a) a=(1,2,3) type(a) a=“1”:2,”2”:3,”3”:4 type(a) a=True type(a) int 整型 float 浮点型 str 字符串 list 列表 tuple 元组 dict 字典 bool 布尔 5、案例02时间差计算案例(见L02Case02.py) import datetime # 输入年份,并转换为整数型 y=int(input(“年:“) # 输入月份,并转换为整数型 m = int(input(“月:“) # 输入日,并转换为整数型 d = int(input(“日:“) # 获得今天日期 day1 = datetime.date.today() # 转换输入的日期 day2 = datetime.date(y,m,d) n = (day2 - day1).days print(“时间差为 %d 天“ %n) 1.程序需要导入datetime模块才能实现datetime功能。2.input函数输入内容为字符串,需要将它转换为int类型才能在下面的日期转换中传递给日期类型转换函数。3.比较两日期可用两日期相减,取差的days属性值。第三部分 条件语句 1、条件语句初体验案例03两数字排序案例(详见L03Case03.py) # 定义两个变量a, b a=19 b=15 # 输出a,b的初始值 print(“1 a = %d, b = %d“ %(a,b) # 判断a,b的大小,若ab,则交换位置 if ab: c = b b = a a = c print(“- 升序排序后 -“) else: print(“- 不需要排序 -”) # 输出两数 print(“2 a = %d, b = %d“ %(a,b) 输出结果 条件判断语句简记: if 逻辑表达式: 语句 else: 语句 * 注意:Python中缩进是代码块的标志,使用Tab键生成。2、流程图设计(条件语句) 程序流程图是人们对解决问题的方法、思路或算法的一种描述。1.流程图的优点: (a)采用简单规范的符号,画法简单; (b)结构清晰,逻辑性强; (c)便于描述,容易理解。2.流程图采用的符号 (1)箭头表示的是程序流 (2)矩形表示的是处理步骤 (3)菱形表示逻辑条件 (4)平行四边形表示输入输出 有时会出现多条件判断的应用,此时的条件判断结构就会变成如下结构(elif条件语句可能会有多个): if 逻辑表达式: 语句 elif 逻辑表达式2: 语句2 else: 语句 尝试画一下包含 elif 语句的条件判断程序流程图。3、案例04四则运算计算器 (L03Case04.py) # 四则运算计算器 # 输入两个数值 num1 = int(input(“请输入第1个数字:“) num2 = int(input(“请输入第2个数字:“) # 输入符号 opr = input(“请输入运算符(+ - * / ):“) # 判断计算类型 if opr = “+“: print(“- %d + %d = %d“ %(num1, num2,num1 + num2) elif opr = “-“: print(“- %d - %d = %d“ %(num1, num2,num1 - num2) elif opr = “*“: print(“- %d * %d = %d“ %(num1, num2,num1 * num2) elif opr = “/“: if num2 = 0: print(“计算错误:除数为0“) else: print(“- %d / %d = %d“ %(num1, num2,num1 / num2) else: print(“无此运算符“, opr) 流程图 4、案例05密码验证(L04Case05.py) # 输入用户名 userName = input(“请输入用户名:“) # 输入密码 password = input(“请输入密码:“) # 判断用户名和密码是否匹配 if userName = “mike“: # 判断密码是否正确 if password = userName + “2019“: print(“登录成功!“) else: print(“密码错误“) else: print(“用户名错误“) 登录成功 登录失败 5、逻辑运算 (1)逻辑运算符 and 布尔“与” 表示两条件同时成立,则为真 x and y x与y同时成立则返回True or 布尔“或” 表示两条件至少有一成立为真 x or y x或y任一成立则返回True not 布尔“非” 表示一条件的相反值 not x 若x为True则返回False (2)比较运算符(a=19,b=27) = 等于 - 比较对象是否相等 (a = b) 返回 False。!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。 大于 - 返回x是否大于y (a b) 返回 False。 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。(a = 大于等于 - 返回x是否大于等于y。(a = b) 返回 False。= 小于等于 - 返回x是否小于等于y。(a 100 or score =90: print(“该学生成绩评价为“优秀”“) elif score =80 and score =60 and score %s)“ %(mpp1,mpp2) elif p2-p1=1 or p1-p2 = 2: print(“玩家2赢 (%s %s)“ %(mpp1,mpp2) else: print(“出现其它选择 (%s,%s)“ %(mpp1,mpp2) print(“- 第 %d 轮结束“ %(v+1) 特别说明: 1.用到导入random库和随机数生成函数。2.用到元组数据类型,以把数字转换成为剪刀、石头、布表示。【元组应用可参考第五部分“元组”部分】 第四部分 循环语句 1、循环语句与流程图设计 (1)循环语句允许程序在一定条件下重复执行一个语句段多次。(2)Python中支持For循环和While循环。(3)循环结构流程图如下所示: 2、For循环结构和Range函数 (1) For循环会遍历一个序列,如一个列表或一个字符串。完成序列的遍历后,循环结束。格式: for 变量in 序列: 循环体 else: else语句 (2) For循环常用range函数生成遍历序列。range函数常用于创建一个整数列表,格式为: range(start,end,step) 注意:生成的序列不包括end值 range(1,10,2) 从1到10,步长为2的序列:1,3,5,7,9 (3) For循环还常常对字符串遍历 myWords = “我爱我的祖国” for w in words: print(w) (4) 体验for循环的使用。例4-1: for i in range(1,366): print(“第 %d 天刷牙” %i) 尝试修改代码的step值,看看运行结果会有怎样的改变。3、案例07棋盘摆麦粒 # 变量Total为总麦粒数 total = 0 # 以国际象棋的棋盘格数为循环列表 for cell in range(64): # 每个格子为上一格子的2倍,第1格为1 # 即每格内麦粒数为2的n次方 total += 2 * cell # 输出总数 print(“总计需要麦粒数量为: %d“ %total) 运行结果 提示: += 是加法赋值运算符 a += b 相当于 a = a + b 4、字符串类型及其相关函数 (1)Python字符串是最常用的数据类型之一,它用成对出现的单引号或双引号创建,但符号不能交叉配对。字符串中出现的特殊符号,需要使用转义字符。如横向制表符可用t,单双引号可”表示。(2)字符串类型具有以下操作: 操作符 描述 举例 返回值 + 字符串连接 Tom+Jerry TomJerry * 重复输出字符串 “Good”*3 “GoodGoodGood” 通过索引获取字符串中字符 s=“HappyBirthday” s4 y : 截取字符串中的一部分 s1,3 app in 成员运算符 - 如果字符串中包含给定的字符返回 True “m” in s False not in 成员运算符 - 如果字符串中不包含给定的字符返回 True “m” not in s True r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母“r“(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print(r”n”) n (原样输出) % 格式字符串 print(“-%s” %s) -HappyBirthday 更多字符串参数参见(/python3/python3-string.html) (3)Python字符串相关函数(简表) 设定变量 str = “happy” capitalize() 将字符串的第一个字符转换为大写 str.capitalize() center(len,char) 返回一个len宽度居中的字符串, char为填充的字符,默认为空格。str.center(15,”*”) find(str, beg=0 end=len(string) 检测 str 是否包含在字符串中,存在返回字符串位置,无返回-1 str.find(“py”) join(seq) 以指定字符串作为分隔符,将seq 中所有的元素合并为一个新字符串 str.join(“*”) len(string) 返回字符串长度 len(str) max(string) 返回字符串中最大字母 max(str) upper() 将字符串变成大写 str.upper() isdecimal() 判断字符串是否全为十进制数字 str.isdecimal() split(str,num) 以str为分隔符截取字符串,若 num有值,则截取num+1个子字符串 (4)例4-2从给定的字符串中寻找隐含的密码(代码:L04Example 4-2.py)。寻找隐藏密码的方法是:先找到字符串中出现的数字,它们就是所在单词中备选字母的位置。把这些字母一一找到连接起来就是密码。该字符串为:To do thi2s, they recr8uited independent obser0vers a2nd sh4owed th3em color headshot phot9ographs of co6mplete strangers. 5、循环退出 (例4-3) 执行中遇到除数为0时就退出循环,借助break语句 for i in range(10): if i= 5: # 当前i=5时退出循环 break print( 10 / (i-5) 当循环变量赋值为5时,执行跳出循环,该段循环结束 for循环中的else语句用于解决循环序列得以完整执行情况下的执行语句 for i in range(10): print(i) else: print(“Range Over”) 当循环range(10)序列全部完成则正常执行else,若循环中执行break退出,则不执行else语句 从0-9中过滤出所有偶数:循环中一旦发现奇数就用continue语句跳出本轮循环,进入下一循环 for i in range(10): if i % 2 = 1: continue print(i) 每轮循环中判断变量i是否奇数,若奇数则进入下一循环,所以只有偶数才能执行 print语句 6、案例08百钱买百鸡 (参见L04Case08.py) 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。分析:用编程的方法解决这一问题,最直接的做法就是进行试值。买公鸡的可能值为1-100只,母鸡的可能是1-100只,小鸡则可能是3-100只。在每种鸡可能的范围内,逐一进行测试,哪一种组合能够符合总只数是100只,且花钱正好为100文,则该组合就是问题的解。这种解法就是枚举法。可采用for循环,且for循环要进行三层嵌套。其求解的条件,即是两个条件的求“与”。(1)总只数=100 (2)总钱数=100 #公鸡从1-100只的范围内循环 for gj in range(1,100): for mj in range(1,100): #母鸡从1-100内循环 for xj in range(3,100,3): #小鸡至少3只,最多到100只,间隔3只 # 判断条件为总只数100,总价格正好100钱 if 5*gj + 3*mj + xj/3=100 and gj+mj+xj = 100: print(“公鸡%d只,母鸡%d只,小鸡%d只“ %(gj,mj,xj) 运行结果 7、For循环应用的局限性 (1)适于进行具有明确的循环序列(固定的循环次数)的循环条件。for i in range(366): print(“第%d天刷牙”%i) (2)不适应于没有固定循环次数(循环序列)的循环场景。例如:每张纸的厚度以1/1000米计,需要折多少次能够超过珠穆朗玛峰的高度? for i in range(?): # 此处正是要求的解,无法给出一个确定的值,不适宜于使用for语句 print(“对折 %d 次即可超过珠峰” %i) 8、案例09与珠穆朗玛峰比高(参考L04Case09.py) 分析:每张纸的高度为1/1000米,对折后得到1/1000*2,再对折得到1/1000*2*2,可知对折n次的高度为1/1000*2n。若在循环中加入判断条件当对折n次的高度大于8844米时即终止循环,此时的n值正是要求解的问题。第1次:1/1000 8844 (继续循环) 第2次:1/1000 * 2(继续循环) 第次:1/1000 * 4(继续循环) 。第次:1/1000 * 2n(终止循环) 步骤: (1)定义两个变量 times对折的次数, height对折后的高度 (2)开始循环,每次循环先判断对折这次后是否已经超过了珠峰高度 (3)若已经超过,则不再循环,结束;打印出循环的次数,即为对折次数 请尝试: (1)打开 L04Case08.py,尝试读懂程序 (2)写一个折纸代码 # 定义变量折纸次数 times = 0 # 变量高度 height = 0 while height 8844: # 折纸次数 + 1 times += 1 # 高度增加折一折的高度 height += 2*times /1000 # 打印输出 print(“经过 %d 次对折“ %times) print(“高度已经达到 %d 米,已超过珠峰高度!“ %height) 9、While循环结构 (1)while是非常重要的python循环结构,其循环结构为: while判断条件: 循环语句 while时间=8:40# 这是一个伪代码 继续上课 # 以当前时间是否小于8:40为条件,若条件成立,则上课 (2)循环应用:计算从1-5与10的乘法表(L04Example 4-4.py) num = 0 # 进入while 循环 # 指明循环条件 num 5 while num 5: result = (num+1)*10 # 循环变量+1,很关键 num += 1 print(“%d * 10 = %d“ %(num,result) 执行结果 (3)循环else语句与for循环一致 10、案例10猜数字游戏 分析:猜数字游戏最能体现while循环的特点。用户进行猜数字时, 猜数次数是变化的,因此需要进行while循环,其循环的条件为,所猜数字并非设定的数字,并且猜数次数不能超过5次。若未猜中,则退出并输出正确答案。所用知识点:(1) 导入random模块,用于产生随机数。生成随机数的函数为random.randint(1,99)表示产生一个从1至99范围内随机数(生成数)。(2)引用计数的变量times,用于标记已猜数次数。(3)判断条件是 计数5 and 所猜数 != 答案。两条件同时成立,才可以继续猜数。import random # 生成一个100以内的随机数 num = random.randint(1,99) # 猜数计数变量 times = 0 guess = int(input(“请猜想一个100以内的整数:“) while(guess != num and times 5): if guess value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号()中,如area = “济南”:”0531”,“青岛”:”0532”,“枣庄”:”0632”。其中,键(key)是必须唯一的。(2)字典的访问可使用键进行索引。如 area“枣庄” 返回值:0632. (3)字典基本操作包括:(以area为例) 删除键del() del area“枣庄” 清空字典clear() area.clear() 删除键并返回pop() area.pop(“枣庄”) 返回键列表keys() area.keys() 返回字典值列表values() area.values() 7、案例11山东省区号查询器(L05Case11.py) 功能:实现一个查询器,用以查询山东省各地市的电话区号。# 定义地区区号字典 area = “济南“:“0531“,“青岛“:“0532“,“淄博“:“0533“,“德州“:“0534“,“烟台“:“0535“,“潍坊“:“0536“,“济宁“:“0537“,“泰安“:“0538“,“临沂“:“0539“,“荷泽“:“0530“,“滨洲“:“0543“,“东营“:“0546“,“威海“:“0631“,“枣庄“:“0632“,“日照“:“0633“,“莱芜“:“0634“ # 输入的内容 key = “ while key.lower() != “q“: # 输出KEY值,做一个参照 print(“-“*20) for k in area.keys(): print(“%s“ %k,end= ) # 产生空行 1程序采用字典进行数据存储,以地区名称为键,值为该地区的区号; 2使用一个while循环,以接收输入的字符作为循环条件,以q字母为结束条件。3将字典的keys输出展示各地区名称,使用者可以据此输入地区名称,并获得该字典项的值(区号)。程序运行结果 print(“ “*10) # 输入内容 key = input(“请输入地区名称输入字母Q退出:“) # 若key = “q“ if key.lower() = “q“: break # 产生空行 print(“ “*10) # 判断输入内容是否在当前字典中(KEYS) if key in area: print(“%s”区号是:%s“ %(key, areakey) else: print(“%s”不是有效的地区名称“ %key) # 程序结束退出 print(“再见“.center(20, “-“) 第六部分 函数 1、函数 函数在Python编程中是非常重要的概念,它将具有某一功能的代码组织在一起,便于重复调用,实现了提高应用的模块化水平和代码重复利用率的目的。2、函数结构 (1)函数以def关键词开头,后面接函数关键词和括号,括号内可以为若干函数的参数。(2)函数体同样要进行缩进,函数使用return返回值,当然也可以没有返回值(相当于返回None)。3、案例12面积计算器 功能描述:根据用户的选择进行圆形、矩形面积的计算。# 定义圆形面积计算函数 def circleArea(r): return 3.14 * r * 2 1定义自定义函数实现对圆形、矩形面积的计算,便于在主程序代码中进行调用。# 定义矩形面积计算函数 def rectangleArea(h,v): return h * v # 圆形计算功能函数 def circle(): r = int(input(“请输入圆形的半径:“) print(“半径为%d的圆形面积为 %f“ %(r, circleArea(r) # 矩形计算功能函数 def rectangle(): h = int(input(“请输入矩形长:“) v = int(input(“请输入矩形宽:“) print(“长和宽分别为%d和%d的矩形面积为 %d“ %(h,v,rectangleArea(h,v) # 获得用户选择的功能代码 func = int(input(“请选择要计算的图形 1-圆形,2-矩形 请输入代码:“) # 判断用户选择的功能 if func = 1: # 1为圆形 circle() # 调用圆形计算 elif func = 2: # 2为矩形 rectangle() # 调用矩形计算 else: print(“功能选择错误!“) 2、主代码中通过输入功能代码来决定调用哪个函数进行输入、计算。程序运行结果 选择功能1-圆形,调用函数circle,该函数中调用circleArea函数进行面积计算 选择功能2-矩形,调用函数rectangle,该函数中调用rectangleArea函数进行面积计算 第七部分 图书小管家案例 1、程序设计的一般流程 分析需求设计模块编写程序 2、软件需求分析 (1)这是一个比较简单的图书管理演示程序,仅需要对图书的名称进行添加、删除、浏览功能。(2)图书数量有限。(3)程序功能仅供演示,需要简洁的操作界面,需要较少的代码实现。3、程序结构(模块构成) 4、文件读写 文件读写(此处指文本文件)是非常重要的编程内容。对于本项目,则需要使用文件来存储添加的图书。(1)读文件: bookFile = open(“books.txt“, “r“) contents = bookFile.readlines() bookFile.close() 打开文件,模式为“r”(只读) 按行读取文件至列表contents中 文件关闭 (2)写文件: bookFile = open(“books.txt“, “w“) bookFile.write(“n“.join(books) bookFile.close() 打开文件,模式为“w” 向文件写入内容 文件关闭 模式 描述 r 以只读方式打开文件。文件指针将会放在文件的开头。这是默认模式。rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。r+ 打开一个文件用于读写。文件指针将会放在文件的开头。rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在校园里过元宵节的作文7篇范文
- 全方位产品需求分析文档模板
- 厨房砧板知识培训课件
- 奥体消防安全知识培训课件
- 大黄敷脐课件
- 大风天气防范火灾课件
- 2025商业写字楼租赁合同范本
- 2025农业植保产品买卖合同
- 卷烟营销知识培训课件
- 2025橄榄树种子批发合同
- 新能源汽车的维护与故障诊断项目三:新能源汽车的故障诊断
- A320飞机理论知识概要
- MySQL数据库技术与应用PPT完整全套教学课件
- 全自动生化分析仪advia2400中文操作手册
- 中国石油资金集中管理案例课件
- crh5a型动车组四级检修修订改
- 纯净水生产项目可行性分析报告
- 3.1《太阳系大家庭》课件
- 税务尽职调查报告(参考)
- 初中七年级上《综合实践》活动课程课件
- 全屋定制家居整装安装师傅专业安装服务技巧培训指导手册
评论
0/150
提交评论