南阳网站排名优化报价这几年做那个网站能致富
news/
2025/9/23 11:11:26/
文章来源:
南阳网站排名优化报价,这几年做那个网站能致富,如何申请网站域名注册,公司网站开发制作目录
11.2.4 方法 setUp()
注意
11.3 小结
第二部分
项目1 外星人入侵
第#xff11;2 章
武装飞船
注意
12.1 规划项目
12.2 安装 Pygame
注意
12.2.1 使用 pip 安装 Python 包
注意
如果你启动终端会话时使用的是命令python3#xff0c;那么在这里应使用命令…目录
11.2.4 方法 setUp()
注意
11.3 小结
第二部分
项目1 外星人入侵
第2 章
武装飞船
注意
12.1 规划项目
12.2 安装 Pygame
注意
12.2.1 使用 pip 安装 Python 包
注意
如果你启动终端会话时使用的是命令python3那么在这里应使用命令sudo python3 get-pip.py。
12.2.2 在 Linux 系统中安装 Pygame
往期快速传送门在文章最后
感谢大家的支持欢迎订阅收藏专栏将持续更新 11.2.4 方法 setUp() 在前面的test_survey.py中我们在每个测试方法中都创建了一个AnonymousSurvey实例并在 每个方法中都创建了答案。unittest.TestCase类包含方法setUp()让我们只需创建这些对象一 次并在每个测试方法中使用它们。如果你在TestCase类中包含了方法setUp()Python将先运行 它再运行各个以test_打头的方法。这样在你编写的每个测试方法中都可使用在方法setUp() 中创建的对象了。 下面使用setUp()来创建一个调查对象和一组答案供方法test_store_single_response()和 test_store_three_responses()使用 import unittest
from survey import AnonymousSurvey
class TestAnonymousSurvey(unittest.TestCase):针对AnonymousSurvey类的测试def setUp(self):
创建一个调查对象和一组答案供使用的测试方法使用question What language did you first learn to speak?
1 self.my_survey AnonymousSurvey(question)
2 self.responses [English, Spanish, Mandarin]def test_store_single_response(self):测试单个答案会被妥善地存储self.my_survey.store_response(self.responses[0])self.assertIn(self.responses[0], self.my_survey.responses)def test_store_three_responses(self):测试三个答案会被妥善地存储for response in self.responses:self.my_survey.store_response(response)for response in self.responses:self.assertIn(response, self.my_survey.responses)
unittest.main() 方法setUp()做了两件事情创建一个调查对象见1创建一个答案列表见2。存储这 两样东西的变量名包含前缀self即存储在属性中因此可在这个类的任何地方使用。这让两 个测试方法都更简单因为它们都不用创建调查对象和答案。方法test_store_three_response() 核 实 self.responses 中的第一个答案 ——self.responses[0]—— 被妥善地存储而方法 test_store_three_response()核实self.responses中的全部三个答案都被妥善地存储。 再次运行test_survey.py时这两个测试也都通过了。如果要扩展AnonymousSurvey使其允许 每位用户输入多个答案这些测试将很有用。修改代码以接受多个答案后可运行这些测试确 认存储单个答案或一系列答案的行为未受影响。 测试自己编写的类时方法setUp()让测试方法编写起来更容易可在setUp()方法中创建一 系列实例并设置它们的属性再在测试方法中直接使用这些实例。相比于在每个测试方法中都创 建实例并设置其属性这要容易得多。 注意
运行测试用例时每完成一个单元测试Python都打印一个字符测试通过时打印一个 句点测试引发错误时打印一个E测试导致断言失败时打印一个F。这就是你运行测试 用例时在输出的第一行中看到的句点和字符数量各不相同的原因。如果测试用例包含 很多单元测试需要运行很长时间就可通过观察这些结果来获悉有多少个测试通过了。 11.3 小结 在本章中你学习了如何使用模块unittest中的工具来为函数和类编写测试如何编写继 承unittest.TestCase的类以及如何编写测试方法以核实函数和类的行为符合预期如何使用 方法setUp()来根据类高效地创建实例并设置其属性以便在类的所有测试方法中都可使用它们。 测试是很多初学者都不熟悉的主题。作为初学者并非必须为你尝试的所有项目编写测试 但参与工作量较大的项目时你应对自己编写的函数和类的重要行为进行测试。这样你就能够更 加确定自己所做的工作不会破坏项目的其他部分你就能够随心所欲地改进既有代码了。如果不 小心破坏了原来的功能你马上就会知道从而能够轻松地修复问题。相比于等到不满意的用户 报告bug后再采取措施在测试未通过时采取措施要容易得多。 如果你在项目中包含了初步测试其他程序员将更敬佩你他们将能够更得心应手地尝试使 用你编写的代码也更愿意与你合作开发项目。如果你要跟其他程序员开发的项目共享代码就 必须证明你编写的代码通过了既有测试通常还需要为你添加的新行为编写测试。 请通过多开展测试来熟悉代码测试过程。对于自己编写的函数和类请编写针对其重要行为 的测试但在项目早期不要试图去编写全覆盖的测试用例除非有充分的理由这样做。 第二部分
项目1 外星人入侵
第2 章
武装飞船 注意
游戏《外星人入侵》将包含很多不同的文件因此请在你的系统中新建一个文件夹并 将其命名为alien_invasion。请务必将这个项目的所有文件都存储到这个文件夹中这样 相关的import语句才能正确地工作。 12.1 规划项目 开发大型项目时做好规划后再动手编写项目很重要。规划可确保你不偏离轨道从而提高 项目成功的可能性。 下面来编写有关游戏《外星人入侵》的描述其中虽然没有涵盖这款游戏的所有细节但能让你清楚地知道该如何动手开发它。 在游戏《外星人入侵》中玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家 可以使用箭头键左右移动飞船还可使用空格键进行射击。游戏开始时一群外星人出 现在天空中他们在屏幕中向下移动。玩家的任务是射杀这些外星人。玩家将所有外星 人都消灭干净后将出现一群新的外星人他们移动的速度更快。只要有外星人撞到了 玩家的飞船或到达了屏幕底部玩家就损失一艘飞船。玩家损失三艘飞船后游戏结束。 在第一个开发阶段我们将创建一艘可左右移动的飞船这艘飞船在用户按空格键时能够开 火。设置好这种行为后我们就能够将注意力转向外星人并提高这款游戏的可玩性。 12.2 安装 Pygame 开始编码前先来安装Pygame。下面介绍如何在Linux、OS X和Microsoft Windows中安装 Pygame。 如果你使用的是Linux系统和Python 3或者是OS X系统就需要使用pip来安装Pygame。pip 是一个负责为你下载并安装Python包的程序。接下来的几小节介绍如何使用pip来安装Python包。 如果你使用的是Linux系统和Python 2.7或者是Windows就无需使用pip来安装Pygame在 这种情况下请直接跳到12.2.2节或12.2.4节。 注意
接下来的部分包含在各种系统上安装pip的说明因为数据可视化项目和Web应用程序项 目都需要pip。这些说明也可在https://www.nostarch.com/pythoncrashcourse/在线资源中找 到。如果安装时遇到麻烦看看在线说明是否管用。 12.2.1 使用 pip 安装 Python 包 大多数较新的Python版本都自带pip因此首先可检查系统是否已经安装了pip。在Python 3 中pip有时被称为pip3。 1. 在Linux和OS X系统中检查是否安装了pip 打开一个终端窗口并执行如下命令 $ pip --version
1 pip 7.0.3 from /usr/local/lib/python3.5/dist-packages (python 3.5)
$ 如果你的系统只安装了一个版本的Python并看到了类似于上面的输出请跳到12.2.2节或 12.2.3节。 如果出现了错误消息请尝试将pip替换为pip3。 如果这两个版本都没有安装到你的系 统中请跳到“安装pip”。 如果你的系统安装了多个版本的Python请核实pip关联到了你使用的Python版本如python3.5见1。如果pip关联到了正确的Python版本请跳到12.2.2节或12.2.3节。如果pip没有关联到 正确的Python版本请尝试将pip替换为pip3。如果执行这两个命令时输出都表明没有关联到正 确的Python版本请跳到“安装pip”。 2. 在Windows系统中检查是否安装了pip 打开一个终端窗口并执行如下命令 $ python -m pip --version
1 pip 7.0.3 from C:\Python35\lib\site-packages (python 3.5)
$ 如果你的系统只安装了一个版本的Python并看到了类似于上面的输出请跳到12.2.4节。 如果出现了错误消息请尝试将pip替换为pip3。如果执行这两个命令时都出现错误消息请跳到 “安装pip”。 如果你的系统安装了多个版本的Python请核实pip关联到了你使用的Python版本如python 3.5见1。如果pip关联到了正确的Python版本请跳到12.2.4节。如果pip没有关联到正确的Python 版本请尝试将pip替换为pip3。如果执行这两个命令时都出现错误消息请跳到“安装pip”。 3. 安装pip 要安装pip请访问https://bootstrap.pypa.io/get-pip.py。如果出现对话框请选择保存文件 如果get-pip.py的代码出现在浏览器中请将这些代码复制并粘贴到文本编辑器中再将文件保存 为get-pip.py。将get-pip.py保存到计算机中后你需要以管理员身份运行它因为pip将在你的系 统中安装新包。 注意
如果你找不到get-pip.py请访问https://pip.pypa.io/单击左边面板中的Installation再单 击中间窗口中的链接get-pip.py。 4. 在Linux和OS X系统中安装pip 使用下面的命令以管理员身份运行get-pip.py $ sudo python get-pip.py 注意
如果你启动终端会话时使用的是命令python3那么在这里应使用命令sudo python3 get-pip.py。 这个程序运行后使用命令pip --version或pip3 --version确认正确地安装了pip。 5. 在Windows系统中安装pip 使用下面的命令运行get-pip.py $ python get-pip.py 如果你在终端中运行Python时使用的是另一个命令也请使用这个命令来运行get-pip.py。例 如你可能需要使用命令python3 get-pip.py或C:\Python35\python get-pip.py。 这个程序运行后执行命令python -m pip --version以确认成功地安装了pip 12.2.2 在 Linux 系统中安装 Pygame 如果你使用的是Python 2.7请使用包管理器来安装Pygame。为此打开一个终端窗口并 执行下面的命令这将下载Pygame并将其安装到你的系统中 $ sudo apt-get install python-pygame 执行如下命令在终端会话中检查安装情况 $ pythonimport pygame如果没有任何输出就说明Python导入了Pygame你可以跳到12.3节。 如果你使用的是Python 3就需要执行两个步骤安装Pygame依赖的库下载并安装Pygame。 执行下面的命令来安装Pygame依赖的库如果你开始终端会话时使用的是命令python3.5 请将python3-dev替换为python3.5-dev $ sudo apt-get install python3-dev mercurial
$ sudo apt-get install libsdl-image1.2-dev libsdl2-dev libsdl-ttf2.0-dev 这将安装运行《外星人入侵》时需要的库。如果你要启用Pygame的一些高级功能如添加 声音的功能可安装下面这些额外的库 $ sudo apt-get install libsdl-mixer1.2-dev libportmidi-dev
$ sudo apt-get install libswscale-dev libsmpeg-dev libavformat-dev libavcode-dev
$ sudo apt-get install python-numpy 接下来执行下面的命令来安装Pygame如有必要将pip替换为pip3 $ pip install --user hghttp://bitbucket.org/pygame/pygame 告知你Pygame找到了哪些库后输出将暂停一段时间。请按回车键即便有一些库没有找 到。你将看到一条消息说明成功地安装了Pygame。 要确认安装成功请启动一个Python终端会话并尝试执行下面的命令来导入Pygame $ python3import pygame如果导入成功请跳到12.3节。 关于“Python”的核心知识点整理大全25-CSDN博客
关于“Python”的核心知识点整理大全12-CSDN博客
往期快速传送门在文章最后
感谢大家的支持欢迎订阅收藏专栏将持续更新
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912324.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!