Python 程序设计(第3版) 您所在的位置:网站首页 大一python课本 Python 程序设计(第3版)

Python 程序设计(第3版)

2023-08-10 21:39| 来源: 网络整理| 查看: 265

第1章 计算机和程序

小结:

本章介绍了计算机、计算机科学和编程。下面是一些关键概念的小结。

● 计算机是一种通用的信息处理机器。它能执行可以充分详细描述的任何过程。用于解决特定问题的步骤序列的描述称为算法。算法可以变成软件(程序),确定硬件(物理机)能做什么和做了什么。创建软件的过程称为编程。 ● 计算机科学研究什么可以计算。计算机科学家使用设计、分析和实验技术。计算机科学是更广泛的计算领域的基础,其中包括的领域如网络、数据库和信息管理系统等。 ● 计算机系统的基本功能视图包括中央处理单元(CPU)、主存储器、辅助存储器以及输入和输出设备。CPU是计算机的大脑,执行简单算术和逻辑运算。CPU操作的信息(数据和程序)存储在主存储器(RAM)中。更多的永久信息存储在辅助存储设备上,如磁盘、闪存和光学设备。信息通过输入设备进入计算机,而输出设备显示结果。 ● 程序使用形式表示法来编写,这称为编程语言。有许多不同的语言,但都具有精确的语法(形式)和语义(意义)的属性。计算机硬件只能理解-.种非常低级的语言,称为机器语言。程序通常使用面向人类的高级语言(如Python) 编写。高级语言必须被编译或解释,以便计算机能够理解它。高级语言比机器语言更容易移植。 ● Python是一种解释型语言。了解Python的一-个好方法是使用交互式shell进行实验。标准Python发布版包括–个名为IDLE的程序,它提供了-.个shell以及编辑Python程序的工具。 ● Python 程序是-一个命令序列(称为语句),供Python解释器执行。Python 包括了一些语句来完成工作,如打印输出到屏幕、从用户获取输入、计算数学表达式的值以及多次执行一系列语句(循环)。 ● 如果输入中的非常小的变化导致结果的大变化,让它们看起来是随机的或不可预测的,则该数学模型被称为混沌。许多现实世界现象的模型表现出混沌行为,这让计算的力量受到一些限制。

第2章 编写简单程序 保留字 FalseClassfinallyisretrunNonecontinueforIambdatryTruedeffromnonlocalwhileanddelglobalnotwithaselififoryieldassertelseimportpassbreakexecptinraise 内置函数 abs()dict()help()min()setattr()all()dir()hex()next()slice()any()divmod()id()object()sorted()ascii()enumerate()input()oct()staticmethod()bin()eval()int()open()str()bool()exec()isinstance()ord()sum()bytearray()filter()issubclass()pow()super()bytes()float()iter()print()tuple()callable()format()len()property()type()chr()frozenset()list()range()vars()classmethod()getattr()locals()repr()zip()compile()globals()map()reversed()importcomplex()hasattr()max()round()delattr()hash()memoryview()set() print函数 print(, , ..., ) print() print(, , ..., , end="\n") = , , ..., = , , ..., 输入数值 = eval(input() , , ..., = eval(input()) 确定循环 for in :

小结:

本章介绍了开发程序的过程,以及实现简单程序所需的许多Python细节。下面是一些 的快速小结。

● 编写程序需要-一种系统的方法来解决问题,包括以下步骤。

问题分析:研究需要解决的问题。程序规格说明:确定程序要做什么。设计:用伪代码编写算法。实现:将设计翻译成编程语言。测试/调试:查找和修复程序中的错误。维护:让程序保持最新,满足不断变化的需求。

● 许多简单的程序遵循输入、处理、输出(IPO) 的模式。 ● 程序由标识符和表达式构成的语句组成。 ● 标识符是一些名称,它们以下划线或字母开头,后跟字母、数字或下划线字符的组合。Python 中的标识符区分大小写。 ● 表达式是产生数据的程序片段。表达式可以由以下部件组成: 字面量 字面量是特定值的表示。 例如,3是数字3的字面量表示。 变量 变量是存 储值的标识符。 运算符 运算符用于将表达式组合为更复杂的表达式。 例如,在x+3y中,使用了运算衔 + 和 * 。 ● 数字的Python 运算符包括加法(+)、减法(-)、乘法() 、除法(/)和乘幂(**)等常见的算术运算。 ● Python输出语句print将-系列表达式的值显示在屏幕上。 ● 在Python中,使用等号(=)表示将值赋给变量。利用赋值,程序可以从键盘获得输入。Python还允许同时赋值,这对于利用单个提示获取多个输入值很有作用。 ● eval雨数可用来对用户输入求值,但它是一种安全风险,不应该用于未知或不可信 来源的输入。 ● 确定循环是执行次数已知的循环。Python的for语句是- 个循环遍历-系列值的确定循环。Python 列表通常在for循环中用F为循环提供一系列值。 ● for语句的一个重要用途是实现计数循环,这是专门设计的循环,以便将程序的某些部分重复特定的次数。Pylhon 中的计数循坏通过使用内置的range函数,来产生适当大小的数字序列。

第3章 数字计算 数值运算符 操作符操作+加-减*乘/浮点除**指数abs()绝对值//整数除%取余 导入模块 import Math库函数 Python数学解释piππ的近似值eee的近似值sqrt(x)√xx的平方根sin(x)sin xx的正弦cos(x)cos xx的余弦tan(x)tan xx的正切asin(x)tan xx的反正弦acos(x)acos xx的反余弦atan(x)atan xx的反正切log(x)In xx的自然对数(以e为底)exp(x)e^xe的x次方ceil(x)┌x┐最小的>=x的整数floor(x)└x┘最大的:} {:.} {:.f} # .

注意:

最后的形式是针对固定的小数位数宽度为0表示不论需要多少空间前导0的宽度表示必要时的填充为0(默认为空格)宽度前面可以有表示右对齐,^表示中心对齐 >>> "Hello {0} {1}, you may have won ${2:0.5}".format("Mr.", "Smith", 100.1415) >'Hello Mr. Smith, you may have won $100.14' 文件处理

打开和关闭文件

= open(, ) # mode为: "r"表示读取,"w"表示写入,"a"表示添加 .close()

读取文件

.read() 返回文件的全部剩余内容,作为一个(可能很大的、多行的)字符串.readline() 返回文件的下一行。即所有文本,直到并包括下一个换行字符。.readlines() 返回文件中剩余行的列表。每个列表项是一行,包括最后的换行字符。注意:文件对象也可以用在一个for循环中,它被当做一系列行来处理。

写入文件

print(..., file = ) # 这个行为与正常打印完全相同,只是结果被发送到输出文件而不是显示在屏幕上

可视地浏览文件系统

from tkinter.filedialog import askopenfilename,asksavesfilename infileName = askopenfilename() #获取文件的名称 outfileName = asksaveasfilename() #保存文件

小结:

本章介绍了Python字符率、列表和文件对象的重要元素,下面是要点的小结。

字符串是字符序列。字符串文字可以用单引号或双引号分隔。可以用内置的序列操作来处理字符串和列表:连接(+)、重复(*)、索引(1) ,切片([:])和长度(len()) .可以用for循环遍历字符串的字符、列表中的项或文件的行。将数字信息转换为字符串信息的一种方法是用字符串或列表作为查找表。列表比字符串更通用。字符串总是字符序列,而列表可以包含任何类型的值。列表是可变的,这意味着可以通过赋新值来修改列表中的项。字符串在计算机中表示为数字代码。ASCII和Unicode是用于指定字符和底层代码之间的对应关系的兼容标准。Python提供ord和chr函数,用于在Unicode代码和字符之间进行转换。Python字符串和列表对象包括许多有用的内置方法,用于字符串和列表处理。将数据编码以保持私密的过程称为加密。有私钥和公钥两种不同类型的加密系统。程序输入和输出通常涉及字符串处理。Python提供了许多运算符在数字和字符串之间来回转换。字符串格式化方法(format)对于生成格式良好的输出特别有用。文本文件是存储在辅助存储器中的多行字符串。可以打开文本文件进行读取或写入。打开进行写入时,文件的原有内容将被删除。Python提供了read()、readline() 和readlines()三种文件读取方法。也可以用for循环遍历文件的行。用print函数将数据写入文件。处理完成后,应关闭文件。 第6章 定义函数 函数定义 def (, , ...) 函数调用 (, , ...) return 语句 return , , ...

小结: ● 函数是一种子程序。程序员使用函数来减少代码重复,并用于组织或模块化程序一旦定义了函数,它可以从程序中的许多不同位置被多次调用。参数允许函数具有可更改的部分。函数定义中出现的参数称为形参,函数调用中出现的表达式弟为实参。 ● 对函数的调用启动一个四步过程:

第一步,调用程序暂停。第二步,实参的值赋给形参。第三步,执行函数体。第四步,控制在调用程序中的函数调用之后立即返回。函数返回的值作为表达式结果

● 变量的作用域是程序可以引用它的区域。函数定义中的形参和其他变量是函数的局部变量。局部变量与可在程序其他地方使用的同名变量不同。 ● 函数可以通过返回值将信息传递回调用者。在Python中,函数可以返回多个值 ● 返回值的函数通常应该从表达式内部调用。没有显式返回值的函数会返回特殊对象None。 ● python 按值传递参数。如果传递的值是可变对象,则对象所做的更改会对调用者可见。

第7章 判断结构 简单条件 if语句 if : if : else: if elif ... else:

注意:else子句是elif形式的可选项

防止在导入时执行 if __name__ == "__ main__": main() 异常处理 try: except : except : ...d except:

小结:

本章阐述了做出判断的基本控制结构。下面是要点。

● 判断结构是 允许程序针对不同情况执行不同指令序列的控制结构。 ● 判断在 Python中用if语句实现。简单的判断是用-一个简单的if来实现的。两路判断通常使用if-else。多路判断用if-elif-else实现。 ● 判断基于条件的求值, 条件是简单的布尔表达式。布尔表达式结果为true,false. Python有专门的bool数据类型,其字面量为True和False.条件的构成利用了关系运算符=。 ● 一些编程语言提供了异常处理机制,让程序更具“防御性”。Python 提供了用于异常处理的try-except语句。 ● 结合判断的算法可能变得相当复杂,因为判断结构是嵌套的。通常有许多解决方案是可能的,应仔细考虑,得到正确、有效和可理解的程序。

第8章 循环结构和布尔值

退出循环: -C ; - -

for循环 for in : while 循环 while : break 语句 while True: ... if : break .... 布尔表达式

字面量: True 、False 操作符: and、or、not

操作符操作定义x and y如果x为false,返回x,否则返回yx or y如果x为true,返回x,否则返回ynot x如果x为false,返回True,否则返回False

类型转化函数:bool

a or not b and c # 优先级 not and or (a or ((not b) and c))

小结: 本章详细介绍了Python的循环和布尔表达式。以下是要点: ● Python的for循环是循环遍历序列的有序循环。 ● Python的while语句是一 个不定循环的例子。只要循环条件保持为真,它就继续迭代。使用不定循环时,程序员必须注意,以免不小心写成无限循环。 ● 不定循环的一个重要用途是实现交互式循环编程模式。根据用户的愿望,交互式循环允许重复程序的一部分。 ● 哨兵循环不断循环处理输入,直到遇到特殊值(哨兵)。哨兵循环是一种常见的编程模式。在编写哨兵循环时,程序员必须注意不要对哨兵进行处理。 ● 循环对于读取 文件很有用。Python将文件视为一系列行,因此使用for循环逐行处理文件尤其容易。在其他语言中,文件循环通常使用哨兵循环模式来实现。 ● 循环像其他控制结构一样, 可以嵌套。设计嵌套循环算法时,最好一次考虑一个循环。 ● 利用布尔运算符and、or 和not,简单的条件可以构成复杂的布尔表达式。布尔运算符遵循布尔代数的规则。DeMorgan定律描述了涉及and和or的布尔表达式如何求反。 ● 构建非标准的循环结构(如循环加一半),可以用循环条件为True的while 循环,并用break语句来提供循环出口。 ● Python的布尔运算符and和or或采用短路求值。它们也有操作定义,这让它们可以用于某些判断上下文。尽管Python具有内置的bool数据类型,但在预期使用布尔表达式的地方,也可以使用其他数据类型(例如int)。 ● GUI程序通常是事件驱动的,并且实现了精心设计的事件循环来控制用户交互。如果用户能控制下一步发生的情况,交互被称为非模态,如果应用程序指示用户必须执行下一步操作,交互被称为非模态。

第9章 模拟与设计 random库 random()返回在返回[0,1)中均匀分布的伪随机值 randrange()返回在范围()中均匀分布的伪随机值

小结: ● 计算机模拟是回答有关现实世界过程问题的强大技术。依靠概率或机会事件的模拟技术称为蒙特卡罗模拟。计算机使用伪随机数来进行蒙特卡罗模拟。 ● 自顶向下的设计是设计 复杂程序的技术。基本步骤是:

第一步,用较小的问题来表示算法。第二步,为每个较小的问题开发- -个接口。第三步,用较小问题的接口来表示该算法。第四步,对每个较小的问题重复该过程。

● 通过开发 一个模拟短柄壁球比赛的程序,展示了自顶向下的设计。 ● 单元测试是独立地检验较大程序中每个组件的过程。单元测试和自底向上的实现在编写复杂程序时是有用的。 ● 螺旋式开发是一个过程,先创建一个复杂程序的简单版本(原型),然后逐渐添加功能。原型开发和螺旋式开发通常与自顶向下的设计相结合。 ● 设计是艺术与科学的结合。实践是成为更好设计师的最佳方式。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有