自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (8)
  • 收藏
  • 关注

原创 第二十七节 测试类

方法test_store_single_response() 核实self.responses 中的第一个答案self.responses[0] 被妥善地存储,而方法test_store_three_response() 核实self.responses 中的全部三个答案都被妥善地存储。这样,在你编写的每个测试方法中,都可使用在方法setUp() 中创建的对象。这个类包含打印调查问题的方法(见❷),在答案列表中添加新答案的方法(见❸), 以及将存储在列表中的答案都打印出来的方法(见❹)。

2022-11-26 16:55:41 321 1

原创 第二十六节 测试函数

编写函数或类时,还可为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。测试让你深信,即便有更多人使用你的程序,它也能正确地工作。在程序中添加新代码时,也可以对其进行测试, 确认不会破坏程序既有的行为。程序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。在本章中,你将学习如何使用Python模块unittest 中的工具来测试代码,还将学习编写测试用例,核实一系列输入都将得到预期的输出。你将看到测试通过了是什么样子,测试未通过又是什么样子,还将知道测试未通过如何有

2022-11-26 16:49:17 713

原创 第二十五节 存储数据

如果该文件存在,就将其中的用户名读取到内存中(见❷),再执行else代码块,打印一条欢迎用户回来的消息。更重要的是,JSON数据格式并非Python专用的,这让你能够将以JSON格式存储的数据与使用其他编程语言的人分享。接下来,调用json.dump() ,并将用户名和一个文件对象传递给它,从而将用户名存储到文件中(见❷)。如果存储了用户喜欢的数,就向用户显示它,否则提示用户输入喜欢的数并将其存储到文件中。编写一个程序,提示用户输入喜欢的数,并使用json.dump() 将这个数存储到文件中。

2022-11-26 16:41:12 257

原创 第二十四节 异常

在❶处, 对变量contents (它现在是一个长长的字符串,包含童话《爱丽丝漫游奇境记》的全部文本)调用方法split() ,以生成一个列表,其中包含这部童话中的所有单词。该在什么情况下向用户报告错误?例如,他将知道你的程序文件的名称,还将看到部分不能正确运行的代码。使用try-except 代码块时,即便出现异常,程序也将继续运行:显示你编写的友好的错误消息,而不是令用户迷惑的traceback。如果try 代码块中的代码导致了错误,Python将查找与之匹配的except 代码块并运行其中的代码。

2022-11-26 16:30:51 29217

原创 第二十三节 文件的读写

至此,你掌握了编写组织有序、易于使用的程序所需的基本技能,该考虑让程序目标更明确、用途更大了。在本章中,你将学习处理文件,让程序能够快速地分析大量数据;你将学习错误处理,避免程序在面对意外情形时崩溃;你将学习异常,它们是Python创建的特殊对象,用于管理程序运行时出现的错误;你还将学习模块json,它让你能够保存用户数据,以免在程序停止运行后丢失。学习处理文件和保存数据可让你的程序使用起来更容易:用户将能够选择输入什么样的数据,以及在什么时候输入;用户使用你的程序做一些工作后,可将程序关闭,以后再接着往下

2022-11-26 16:15:49 349

原创 第二十二节 类2

需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的import 语句,再添加一个空行,然后编写导入你自己编写的模块的import 语句。将User 类、Privileges 类和Admin 类存储在一个模块中,再创建一个文件,在其中创建一个Admin 实例并对其调用方法show_privileges() ,以确认一切都能正确运行。将类存储在多个模块中时,你可能会发现一个模块中的类依赖于另一个模块中的类。虽然同一个模块中的类之间应存在某种相关性,但可根据需要在一个模块中存储任意数量的类。

2022-11-26 16:00:28 425

原创 第二十一节 类1

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。使用面向对象编程可模拟现实情景,其逼真程度达到了令人惊讶的地步。根据类来创建对象称为实例化 ,这让你能够使用类的实例。在本章中,你将编写一些类并创建其实例。你将指定可在实例中存储什么信息,定义可对这些实例执行哪些操作。你还将编写一些类来扩展既有类的功能,让相

2022-11-26 10:18:00 194

原创 第二十节 函数3

这是因为如果模块中有函数的名称与当前项目中使用的名称相同,可能导致意想不到的结果: Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。如果程序使用一系列的函数来完成其任务,而其中的每个函数都完成一项具体的工作,测试和维护起来将容易得多:可编写分别调用每个函数的程序,并测试每个函数是否在它可能遇到的各种情形下都能正确地运行。他们完全可以相信代码如描述的那样运行,并且只要知道函数的名称、需要的实参以及返回值的类型,就能在自己的程序中使用它。要让函数是可导入的,得先创建模块。

2022-11-25 10:35:01 175

原创 第十九节 函数2

8.3 返回值函数并非总是直接显示输出,它还可以处理一些数据,并返回一个或一组值。函数返回的值称为返回值 。在函数中,可使用return语句将值返回到调用函数的代码行。返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。8.3.1 返回简单值下面来看一个函数,它接受名和姓并返回整洁的姓名:formatted_name.py函数get_formatted_name()的定义通过形参接受名和姓(见❶)。它将姓和名合而为一,在中间加上一个空格,并将结果赋给变量full_name(见❷)。然

2022-11-25 10:12:59 430

原创 第十八节 函数1

然而,Python依然将这个实参视为位置实参,因此如果函数调用中只包含宠物的名字,这个实参将关联到函数定义中的第一个形参。需要在程序中多次执行同一项任务时,无须反复编写完成该任务的代码,只需要调用执行该 任务的函数,让Python运行其中的代码即可。这也是应该给变量和函数指定描述性名称的另一个原因:如果这样做了,那么无论对于你,还是可能使用你编写的代码的其他任何人来说,Python提供的错误消息都将更帮助。只需在函数中编写一次描述宠物的代码,然后每当需要描述新宠物时,都调用该函数并向它提供新宠物的信息。

2022-11-25 09:32:37 144

原创 第十七节 while循环2

首先创建一个未验证用户列表(见❶),其中包含用户Alice、Brian和Candace,还创建了一个空列表,用于存储已验证的用户。遍历列表sandwich_orders ,对于其中的每种三明治,都打印一条消息,如I made your tuna sandwich ,并将其移到列表finished_sandwiches 中。一种办法是使用一个while 循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。然而,要记录大量的用户和信息,需要在while循环中使用列表和字典。

2022-11-25 09:18:08 121

原创 第十六节 while循环1

在复杂的程序(如很多事件会导致程序停止运行的游戏)中,标志很有用:在任意一个事件导致活动标志变成False 时,主游戏循环将退出,此时可显示一条游戏结束消息,并让用户选择是否要重新玩。如果你希望程序在用户输入特定值时结束,可运行程序并输入这样的值。如果在这 种情况下程序没有结束,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为False ,或者让break 语句得以执行。要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。

2022-11-25 09:09:48 597

原创 第十五节 用户输入

因此,这种程序需要让用户输入年龄,再将其与投票年龄进行比较,以判断用户是否到了投票年龄,从而给出结果。用户输入的是数21,但我们请求Python提供变量age的值时,它返回的是'21'——用户输入数值的字符串表示。在本例中,用户根据提示输入21 后,Python将这个数解读为字符串,但随后int() 将这个字符串转换成了数值表示(见❶)。试图将输入用于数值比较时(见❶),Python会引发错误,因为它无法将字符串和整 数进行比较:不能将赋给age 的字符串'21' 与数值18 进行比较(见❷)。

2022-11-25 08:58:17 292

原创 第十四节 字典2

在本章前面有关喜欢的编程语言的示例中,如果将每个人的回答都存储在一个列表中, 被调查者就可选择多种喜欢的语言。例如,如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。例如,你可能需要为网站的每个用户创建一个字典(就像6.3.1节的user.py中那样),并将这些字典存储在一个名为users 的列表中。在这个列表中,所有字典的结构都相同,因此你可以遍历这个列表,并以相同的方式处理其中的每个字典。

2022-11-25 08:49:04 441

原创 第十三节 字典1

在❶处, 我们在这个字典中新增了一个键值对,其中的键为'x_position' ,值为0。另外,你还将学习存储字典的列表、存储 列表的字典和存储字典的字典。在前面的示例中,字典存储的是一个对象(游戏中的一个外星人)的多种信息,但你也可以使用字典来存储众多对象的同一种信息。对于较长的字典,还有其他一些可行的格式设置方式,因此在你的编辑器或其他源代码中,你可能会看到稍微不同的格式设置方式。定义好字典后,在最后一个键值对的下一行添加一个右花括号,并缩进四个空格, 使其与字典中的键对齐。

2022-11-25 08:21:16 286

原创 第十二节 if语句2

else 是一条包罗万象的语句,只要不满足任何if 或elif 中的条件测试,其中的代码就会执行。这些代码的输出与前一个示例相同,但if-elif-else 结构的作用更小:它只确定门票价格,而不是在确定门票价格的同时打印一条消息。请注意,在else 代码块(见❷)中,必须将所赋的值改为20,因为仅当年龄超过65岁(含)时,才会执行这个代码块。在if-elif-else 结构中设置price 的值后,一条未缩进的函数调用print() ❹会根据这个变量的值打印一条消息,指出门票的价格。

2022-11-25 08:04:20 999

原创 第十一节 if语句1

对于大多数汽车,应以首字 母大写的方式打印其名称,但对于汽车名'bmw' ,应以全大写的方式打印。左边的测试通过了,但右边的测试没有通过,因 此整个条件表达式的结果为False。在❸处,将age_1 改为22,这样age_1 的值大于21,因此两个测试都通过了,导致整个条件表达式的结果为True。接下来, 你将把学到的知识应用于列表,编写一个for 循环,以一种方式处理列表中的大多数元素,并以另一种方式处理包含特定值的元素。在❸处的测试中,两个测试都没有通过,因此整个表达式的结果为False。

2022-11-25 07:45:48 222

原创 第十节 元组、设置代码格式

例如,如果你有五行创建列表的代码,还有三行处理该列表的代码,那么用一个空行将这两部分隔开是合适的。在学习期间,你不用过多考虑代码的行长,但别忘了,协作编写程序时,大家几乎都遵守PEP8指南。学会编写整洁的Python后,就能明白他人编写的Python代码的整体结构——只要他们和你遵循相同的指南。如果混合使用了制表符和空格,可将文件中的所有制表符都转换为空格,大多数编辑器提供了这样的功能。你还学习了元组(它对不应变化的值提供了一定程度 的保护),以及在代码变得越来越复杂时如何设置格式,使其易于阅读。

2022-11-24 20:53:21 119

原创 第九节 列表操作2

❹处的输出表明,'cannoli' 包含在你喜欢的食品列表中,而'ice cream' 不在。接下来,在每个列表中都添加一种食品:在列表my_foods中添加'cannoli'(见❷),而在friend_foods中添加'ice cream'(见❸)。例如,编写游戏时,你可以在玩家退出游戏时将其最终得分加入一个列表中,然后将该列表按降序排列以获取三个最高得分,再创建一个只包含前三个得分的切片;例如,假设有一个列表包含你最喜欢的四种食品,而你想再创建一个列表,并在其 中包含一位朋友喜欢的所有食品。

2022-11-24 20:46:16 487

原创 第八节 列表操作1

最终的结果是,对于列表中的每位魔术师, 都执行了第一个函数调用print() ,因为它缩进了;在前面的示例中,向各位魔术师显示消息的代码行是for 循环的一部分,因为它们缩进了。在较长的Python程序中,你将看到缩进程度各不相同的代码块,从而对程序的组织结构有大致的认识。在代码行for magician in magicians 后面,每个缩进的代码行都是循环的一部分,将针对列表中的每个值都执行一次。刚开始使用循环时请牢记,对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。

2022-11-24 20:26:05 75

原创 第七节 认识列表2

在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。编写一个程序,在其中创建一个包含这些元素的列表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,只需对列表再次调用reverse()即可。

2022-11-24 20:11:05 173

原创 第六节 认识列表1

你创建的大多数列表将是动态的,这意味着列表创建后,将随着程序的运行增删元素。为此,可在开始时将一些外星人存储在列表中,然后每当有外星人被射杀时,都将其从列表中删除,而每次有新的外星人出现在屏幕上时,都将其添加到列表中。为控制用户,可首先创建一个空列表,用于存储用户将要输入的 值,然后将用户提供的每个新值附加到列表中。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在方括号内。第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。

2022-11-24 20:01:13 103

原创 第五节 注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。本书前面编写的程序中都只包含Python代码,但随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法进行大致的阐述。不要企图编写完美无缺的代码,而是要先编写行之有效的代码,再决定是对其做进一步改进,还是转而去编写新代码。如此,经验丰富的程序员定将对你编写的代码心生敬意,进而乐意向你提供反馈,并与你合作 开发有趣的项目。如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。

2022-11-24 16:12:51 298

原创 第四节 数

Python会尽力找到一种精确表示结果的方法,但鉴于计算机内部表示数的方式,这在有些情况下很难。每种编程语言都必须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数的行为都是正常的。Python 能根据数的用法以不同的方式处理它们。用一个变量来表示你最喜欢的数,再使用这个变量创建一条消息,指出你最喜欢的数是什么,然后将这条消息打印出来。无论是哪种运算,只要有操作数是浮点数,Python默认得到的总是浮点数,即便结果原本为整数也是如此。在代码中,要指出应将特定的变量视为常量,可将其字母全部大写。

2022-11-24 16:01:47 175

原创 第三节 字符串

然而,这种删除只是暂时的,接下来再次询问favorite_language 的值时,你会发现这个字符串与输入时一样,依然包含多余的空白(见❹)。为删除这个字符串中的空白,要将其末尾的空白剔除,再将结果关联到原来的变量(见❶)。在编程中,经常需要修改变量的值,再将新值关联到原来的变量。看到Python代码以普通句子的颜色显示,或者普通句子以Python代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。在这里,一个问候用户的句子中使用了完整的姓名,并使用方法title()来将姓名设置为合适的格式。

2022-11-24 15:33:28 583

原创 第二节 变量

在这里,解释器发现了一个名称错误 ,并报告打印的变量mesage未定义:Python无法识别你提供的变量名。运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。你可能觉得这很好笑,但别忘了,在你的编程生涯中,经常会有同样的遭遇。你迟早会遇到变量的行为出乎意料的情形,此时如果对变量的工作原理有准确的认识,将有助于搞清楚代码是如何运行的。随着编写的程序越来越多,并开始阅读别人编写的代码,你将越来越善于创建有意义的变量名。

2022-11-24 15:07:55 117

原创 第一节 Python环境搭建

在你的系统中,如果能使用命令python来启动Python3,可以选择菜单Tools ▶ Build或按Ctrl + B(在macOS系统中为Command + B)来运行程序。本书编写期间的最新版本为Python 3.7,但只要你安装了Python 3.6或更高的版本,就能运行本书中的所有代码。文件扩展名.py告诉Sublime Text,文件中的代码是使用Python编写的,这能让它知道如何运行这个程序,并以有帮 助的方式突出其中的代码。在本节中,你将学习如何在自己的系统中安装Python。

2022-11-24 14:45:03 341

电子学会 编程 等级考试 python 思维导图

中国电子学会全国青少年编程等级考试(python)1级思维导图,条理清晰、内容详尽,一图在手,尽可掌握python一级的所有内容,轻松考过一级。

2022-11-16

电子学会 python 等级考试 思维导图 知识体系

中国电子学会全国青少年编程等级考试(python)1级思维导图,条理清晰、内容详尽,一图在手,尽可掌握python一级的所有内容,轻松考过一级。

2022-11-16

Pyhton 等级考试 二级 PPT 中国电子学会

Pyhton 等级考试 二级 PPT 中国电子学会

2022-09-29

Pyhton 等级考试 PPT 中国电子学会 少儿编程

Pyhton 等级考试 PPT 中国电子学会 少儿编程

2022-09-29

Windows2003域控服务器配置指南

目录 1. 简介 4 2. 先决条件 4 2.1 操作系统 4 2.2 组织结构 4 3. 配置纲要 4 4. 设置固定IP地址 5 5. 设置WINDOWS组件 7 6. 安装AD活动目录及DNS 11 7. 设置网络连接的DNS为本机 15 8. 提升域功能级别和林功能级别 16 9. 安装证书服务 20 10. 设置域用户 22 11. 注意事项 24

2013-01-06

CCNA培训教程

1.2 CCNA 学习内容及目标 从学习内容上可分为四大部分 主要内容包括 网络协议理论 基础 OSI TCP/IP 协议 广域网协议 局域网 广域网解决方案 涉及到的内容均为目前中小型网络解决方案中所必需的知识 通过认证的 CCNA 工程师将具备如下技能 • 安装 配置以及运行 500 个网络节点规模的 Cisco 网络系统 • 能够胜任 Internet/Intranet 的路由器管理能力

2013-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除