Python编程:从入门到实践[试读]
1.1 搭建编程环境
在本章中,你将运行自己的第一个程序——hello_ world.py。为此,你首先需要检查自己的计算机是否安装了Python;如果没有安装,你需要安装它。你还要安装一个文本编辑器,用于编写和运行Python程序。你输入Python代码时,这个文本编辑器能够识别它们并突出显示不同的部分,让你能够轻松地了解代码的结构。 1.1 搭建编程环境 在不同的操作系统中,Python存在细微的差别,因此有几点你需要牢记在心。这里将介绍大家使用的两个主要的Python版本,并简要介绍Python的安装步骤。 1.1.1 Python 2和Python 3 当前,有两个不同的Py... 查看全部[ 1.1 搭建编程环境 ]
1.2 在不同操作系统中搭建Python编程环境
Python是一种跨平台的编程语言,这意味着它能够运行在所有主要的操作系统中。在所有安装了Python的现代计算机上,都能够运行你编写的任何Python程序。然而,在不同的操作系统中,安装Python的方法存在细微的差别。 在这一节中,你将学习如何在自己的系统中安装Python和运行Hello World程序。你首先要检查自己的系统是否安装了Python,如果没有,就安装它;接下来,你需要安装一个简单的文本编辑器,并创建一个空的Python文件——hello_world.py。最后,你将运行Hello World程序,并排除各种故障。我将详细介绍如何在各种操作系统中完成这些任务,让你能够... 查看全部[ 1.2 在不同操作系统中搭建Python编程环境 ]
1.3 解决安装问题
如果你按前面的步骤做,应该能够成功地搭建编程环境。但如果你始终无法运行程序hello_world.py,可尝试如下几个解决方案。 程序存在严重的错误时,Python将显示traceback。Python会仔细研究文件,试图找出其中的问题。trackback可能会提供线索,让你知道是什么问题让程序无法运行。 离开计算机,先休息一会儿,再尝试。别忘了,在编程中,语法非常重要,即便是少一个冒号、引号不匹配或括号不匹配,都可能导致程序无法正确地运行。请再次阅读本章相关的内容,再次审视你所做的工作,看看能否找出错误。 推倒重来。你也许不需要把一切都推倒重来,但将文件... 查看全部[ 1.3 解决安装问题 ]
1.4 从终端运行Python程序
你编写的大多数程序都将直接在文本编辑器中运行,但有时候,从终端运行程序很有用。例如,你可能想直接运行既有的程序。 在任何安装了Python的系统上都可以这样做,前提是你知道如何进入程序文件所在的目录。为尝试这样做,请确保已将文件hello_world.py存储到了桌面的python_work文件夹中。 1.4.1 在Linux和OS X系统中从终端运行Python程序 在Linux和OS X系统中,从终端运行Python程序的方式相同。在终端会话中,可使用终端命令cd(表示切换目录,change directory)在文件系统中导航。命令ls(list的简写)显示当前目录中所... 查看全部[ 1.4 从终端运行Python程序 ]
1.5 小结
在本章中,你大致了解了Python,并在自己的系统中安装了Python。你还安装了一个文本编辑器,以简化Python代码的编写工作。你学习了如何在终端会话中运行Python代码片段,并运行了第一个货真价实的程序——hello_world.py。你还大致了解了如何解决安装问题。 在下一章,你将学习如何在Python程序中使用各种数据和变量。... 查看全部[ 1.5 小结 ]
12.1 规划项目
武装飞船 我们来开发一个游戏吧!我们将使用Pygame,这是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,让你能够更轻松地开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,你不用考虑众多烦琐而艰难的编码工作,而是将重点放在程序的高级逻辑上。 在本章中,你将安装Pygame,再创建一艘能够根据用户输入而左右移动和射击的飞船。在接下来的两章中,你将创建一群作为射杀目标的外星人,并做其他的改进,如限制可供玩家使用的飞船数以及添加记分牌。 从本章开始,你还将学习管理包含多个文件的项目。我们将重构很多代码,以提高代码的效率,并管理文件的内容,以确保项目组织... 查看全部[ 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的说明,因为数据可视化项目和We... 查看全部[ 12.2 安装Pygame ]
12.3 开始游戏项目
现在来开始开发游戏《外星人入侵》。首先创建一个空的Pygame窗口,供后面用来绘制游戏元素,如飞船和外星人。我们还将让这个游戏响应用户输入、设置背景色以及加载飞船图像。 12.3.1 创建Pygame窗口以及响应用户输入 首先,我们创建一个空的Pygame窗口。使用Pygame编写的游戏的基本结构如下: alien_invasion.py import sys import pygame def run_game(): # 初始化游戏并创建一个屏幕对象 pygame.init() sc... 查看全部[ 12.3 开始游戏项目 ]
12.4 添加飞船图像
下面将飞船加入到游戏中。为了在屏幕上绘制玩家的飞船,我们将加载一幅图像,再使用Pygame方法blit()绘制它。 为游戏选择素材时,务必要注意许可。最安全、最不费钱的方式是使用http://pixabay.com/等网站提供的图形,这些图形无需许可,你可以对其进行修改。 在游戏中几乎可以使用任何类型的图像文件,但使用位图(.bmp)文件最为简单,因为Pygame默认加载位图。虽然可配置Pygame以使用其他文件类型,但有些文件类型要求你在计算机上安装相应的图像库。大多数图像都为.jpg、.png或.gif格式,但可使用Photoshop、GIMP和Paint等工具将其转换为位图。... 查看全部[ 12.4 添加飞船图像 ]
12.5 重构:模块game_functions
在大型项目中,经常需要在添加新代码前重构既有代码。重构旨在简化既有代码的结构,使其更容易扩展。在本节中,我们将创建一个名为game_functions的新模块,它将存储大量让游戏《外星人入侵》运行的函数。通过创建模块game_functions,可避免alien_invasion.py太长,并使其逻辑更容易理解。 12.5.1 函数check_events() 我们将首先把管理事件的代码移到一个名为check_events()的函数中,以简化run_game()并隔离事件管理循环。通过隔离事件循环,可将事件管理与游戏的其他方面(如更新屏幕)分离。 将check_events(... 查看全部[ 12.5 重构:模块game_functions ]
12.6 驾驶飞船
下面来让玩家能够左右移动飞船。为此,我们将编写代码,在用户按左或右箭头键时作出响应。我们将首先专注于向右移动,再使用同样的原理来控制向左移动。通过这样做,你将学会如何控制屏幕图像的移动。 12.6.1 响应按键 每当用户按键时,都将在Pygame中注册一个事件。事件都是通过方法pygame.event.get()获取的,因此在函数check_events()中,我们需要指定要检查哪些类型的事件。每次按键都被注册为一个KEYDOWN事件。 检测到KEYDOWN事件时,我们需要检查按下的是否是特定的键。例如,如果按下的是右箭头键,我们就增大飞船的rect.centerx值,将飞船... 查看全部[ 12.6 驾驶飞船 ]
12.7 简单回顾
下一节将添加射击功能,这需要新增一个名为bullet.py的文件,并对一些既有文件进行修改。当前,我们有四个文件,其中包含很多类、函数和方法。添加其他功能之前,为让你清楚这个项目的组织结构,先来回顾一下这些文件。 12.7.1 alien_invasion.py 主文件alien_invasion.py创建一系列整个游戏都要用到的对象:存储在ai_settings中的设置、存储在screen中的主显示surface以及一个飞船实例。文件alien_invasion.py还包含游戏的主循环,这是一个调用check_events()、ship.update()和update_scree... 查看全部[ 12.7 简单回顾 ]
12.8 射击
下面来添加射击功能。我们将编写玩家按空格键时发射子弹(小矩形)的代码。子弹将在屏幕中向上穿行,抵达屏幕上边缘后消失。 12.8.1 添加子弹设置 首先,更新settings.py,在其方法__init__()末尾存储新类Bullet所需的值: settings.py def __init__(self): --snip-- # 子弹设置 self.bullet_speed_factor = 1 self.bullet_width = 3 self... 查看全部[ 12.8 射击 ]
12.9 小结
在本章中,你学习了:游戏开发计划的制定;使用Pygame编写的游戏的基本结构;如何设置背景色,以及如何将设置存储在可供游戏的各个部分访问的独立类中;如何在屏幕上绘制图像,以及如何让玩家控制游戏元素的移动;如何创建自动移动的元素,如在屏幕中向上飞驰的子弹,以及如何删除不再需要的对象;如何定期重构项目的代码,为后续开发提供便利。 在第13章中,我们将在游戏《外星人入侵》中添加外星人。在第13章结束时,你将能够击落外星人——但愿是在他们撞到飞船前!... 查看全部[ 12.9 小结 ]
书名: Python编程:从入门到实践
作者: [美] 埃里克·马瑟斯
出版社: 人民邮电出版社
原作名: Python Crash Course
副标题: 从入门到实践
译者: 袁国忠
出版年: 2016-7-1
页数: 459
定价: CNY 89.00
装帧: 平装
ISBN: 9787115428028
