通过我们新电子书中的分步说明以有趣的方式学习Python。Python是最流行的编程语言之一。无论您是为了工作还是娱乐而学习Python,它都是一种功能强大且有用的编程语言。您可以创建应用程序来帮助您完成日常任务、创建您和您的朋友喜欢玩的游戏、创建用于处理数据的脚本、创建用于生成或分析信息的应用程序等等。无论您打算使用编程语言做什么,我们认为通过创建游戏比通过处理数字或转换字符串来学习更有趣。但是,如果您完全不熟悉编程,那么当您看到代码在熟悉的环境(如视频游戏)中运行时,就更容易理解为什么要用代码做某事。你可能不会选择Python作为最好的编程语言(对此每个人都有自己的答案),但它并不是一种令人恐惧的编程语言。Python可以使用许多关键字(例如is和isnot)来代替符号(例如=和!=)。它还管理很多低级任务,因此您通常不必担心数据类型和垃圾收集等问题。通常,这意味着您可以立即开始编码,而不会遇到使用C或Java等复杂编程语言时遇到的挫败感。为了帮助您学习Python,我们制作了一本电子书,教您如何使用Python创建平台视频游戏。在制作视频游戏的同时通过课程逐步学习Python。一个额外的好处是您还将学习编程逻辑、语法、运算符等。您可以在学习时立即看到结果,因此您所学的一切都会得到及时巩固。一分钟了解PythonPython是一种通用编程语言,这意味着它(像大多数语言一样)提供了对数字和字符进行“简单操作”的函数。Linux操作系统用户已经安装了Python。MacOS用户使用的是旧版本的Python,但您可以从Python.org网站安装最新版本。Windows操作系统用户可以从这篇在Windows上安装Python文章中了解如何安装Python。安装完成后,可以启动交互式PythonShell进行算术运算:$python3>>>5+611>>>11/25.5>>>11//25>>>11%21从中可以看出这个例子,有些特殊的符号,但是学过数学的人最熟悉了。也许你不喜欢数字而更喜欢字母:$python3>>>string="helloworld">>>print(string)helloworld>>>print(string.upper())HELLOWORLD>>>print(string[0])h>>>print(string[1])e>>>print(string[2])l>>>print(string[3])l>>>print(string[4])o同样,相对来说,basictasks有特殊的表示法,但即使没有说明,你可能已经发现,[0]和[1]的表示法是对数据进行“切片”,使用print函数将数据显示在屏幕上。五分钟了解Pygame如果您只想使用Python来创建视频游戏或任何超出基本计算的内容,可能需要大量的学习、努力和时间。幸运的是,Python已经存在了二十年,开发人员开发了代码库来帮助您(相对)轻松地完成典型的编程壮举。Pygame是一组用于创建视频游戏的代码模块。它不是同类库中唯一的,但它是最古老的(无论好坏),因此在线有大量文档和示例。先学习推荐的Python虚拟环境工作流程:$python3-mvenvmycode/venv$cdmycode$source./venv/bin/activate(venv)$进入虚拟环境后,就可以放心的把Pygame安装到项目文件夹了:(venv)$echo"pygame">>requirements.txt(venv)$python-mpipinstall-rrequirements.txt[...]Installingcollectedpackages:pygameSuccessfullyinstalledpygame-x.y.z现在你已经安装了Pygame,只是一个简单的可以创建演示应用程序。这比你想象的要容易。Python可以执行所谓的面向对象编程(OOP),这是一个漂亮的计算机科学术语,指的是代码的结构就像您正在使用代码创建物理对象一样。然而,程序员并没有被迷惑。他们知道他们在编写代码时实际上并不是在制造物理对象,但它有助于可视化,因为这样您就可以了解编程世界的局限性。例如,如果你被困在一个荒岛上想喝杯咖啡,你就必须收集一些粘土,做一个杯子,然后烘烤。如果你足够聪明,先制作一个模具,这样当你需要另一个杯子时,你就可以根据模板快速制作一个新杯子。尽管每个杯子都来自同一个模板,但它们在物理上是独立的:如果一个杯子坏了,你还有另一个杯子。您可以通过添加颜色或蚀刻使每个咖啡杯都独一无二。您将在Pygame和许多编程任务中使用类似的逻辑。在定义之前,它不会出现在您的编程项目中。下面介绍如何在Python和Pygame程序中制作咖啡杯。使用Pygame进行面向对象编程创建文件main.py,输入以下代码启动Pygame模块,使用Pygame模板创建窗口:importpygamepygame.init()screen=pygame.display.set_mode((960,720))就像您可能在现实生活中使用模板创建对象一样,您也可以使用Pygame提供的模板来创建sprite精灵(Pygame对视觉游戏对象的术语)。在面向对象编程中,类代表对象的模板。在您的文档中输入以下代码:classCup(pygame.sprite.Sprite):def__init__(self):pygame.sprite.Sprite.__init__(self)#imageimg=pygame.image.load('coffeecup.png').convert()self.image=img#volumeself.rect=self.image.get_rect()self.rect.x=10self.rect.y=10这个代码块使用Pygame的sprite模板设计了一个咖啡杯妖精。由于self.image,您的咖啡杯精灵有了图像,而self.rect赋予了它体积(宽度和高度)。这些是Pygame期望小妖精具有的属性,但如果您正在创建一个可玩的视频游戏,您可以为其分配任何其他所需的属性,例如健康点数和得分。到目前为止,您所要做的就是为咖啡杯创建一个窗口和一个模板。您的游戏实际上还没有杯子。您的代码的最后一部分必须使用模板生成杯子并将其添加到游戏世界中。如您所知,计算机运行速度非常快,因此从技术上讲,您目前创建的代码只会运行一毫秒左右。在编写图形计算机应用程序时,无论计算机是否认为它已完成规定的任务,都必须强制它保持打开状态。程序员使用无限循环执行此操作,在Python中用whileTrue语句表示(True始终为true,因此循环永远不会结束)。无限循环确保您的应用程序保持打开足够长的时间,以便计算机用户可以查看和使用该应用程序:cup=Cup()whileTrue:pygame.display.update()screen.blit(cup.image,cup.rect)此代码示例从模板Cup创建一个杯子,然后使用Pygame函数更新显示。最后,使用Pygame的blit函数在其边界内绘制杯子的图像。获取图形在成功运行代码之前,您需要为咖啡杯准备一个图形。您可以在FreeSVG.org上找到许多公共创意咖啡杯图形。我用过这个。将图形保存在项目目录中并将其命名为coffeecup.png。运行游戏以启动应用程序:Pygame中的(venv)$python./main.pycoffeemug下载Python游戏电子书
