《Python游戏编程入门》——1.2 初识Python

本节书摘来自异步社区《Python游戏编程入门》一书中的第1章,第1.2节,作者[美]Jonathan S. Harbour ,李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 初识Python

Python既是一个软件工具包,也是一种语言。Python软件包包含了一个名为IDLE的编辑器。Idle是一个人的名字,而不是集成开发(integrated development…)的缩写,尽管IDLE看上去有点像是缩写。这个人的名字是Eric Idle,他是Monty Python的创始成员之一,而Monty Python则是Python语言的名称的由来,Python是向British TV的一部电视剧致敬。Python语言也很奇怪,因此,它这个名字是很合适的。当然,它是以一种可爱的方式来表现出奇怪。如果你真的是初次接触Python,并且没有阅读过Michael Dawson的入门图书(Python Programming for the Absolute Beginner),那么,你可能会对Python不同于其他的编程语言感到惊喜。这使得学习Python有了一些挑战,但尽管如此也是值得的。

如果想要下载供你的操作系统使用的最新的Python包,请访问http://www.python.org。

1.2.1 Python工具

正如人们所预期的那样,Python包内含Python解释器和运行时库,但是,它还包含了几个有用的工具,我们现在来介绍一下这些工具。
Module Docs(Pydoc)

针对不同操作系统的Python包是不同的,但大多数常用的包都包含Python的文档工具Pydoc。这个工具是一个较小的搜索工具包,它可以在Python文档中查找项目,以列表形式给出搜索结果,然后用默认的Web浏览器访问其中任何一项。在Python程序组中,这款工具也叫作Module Docs,如图1.2所示。


screenshot

Python Manuals(Pyhelp)

在程序菜单下,还有一个可选的项Python Manuals,它可以以Windows帮助文件的形式来显示Python文档,如图1.3所示。这个版本的文档是可搜索的,但是,这可能不是找到想要的信息的一种快速的方式。


screenshot

Python(命令行)

Python是一种解释语言,这意味着代码不会编译到一个可执行文件中,而只是实时地解释。这一实时特性包括Python命令行提示符,它可以一次接受一行Python命令。当然,这是编写Python代码的一种局限性的方式,并且可能只是被当作解析器而不是“代码”。图1.4展示了命令提示符。
IDLE(Python GUI)

IDLE是一个文本编辑器,也是一个简单的Python编程开发环境。图1.5展示了IDLE,其中显示了针对当前正在输入的代码的一个弹出式帮助菜单。在这个例子中,它显示了print()函数的语法。但是,这不是IDLE编辑器,这只是IDLE命令提示符。


screenshot


screenshot

是的,我们可以运行如图1.4所示的一个独立的提示符,或者使用IDLE内建的一个提示符。要开始真正地编辑代码,使用File菜单并且选择New Window,如图1.6所示。这会创建一个新的源代码编辑器窗口,如图1.7所示。

在做任何其他事情之前,首先要将新的源代码保存为文件。做了这件事情之后,才能让Python运行(或解释)你的代码。使用File菜单来保存文件,然后打开Run菜单,并且选择Run Module。也可以按下F5键来运行代码。现在,当你运行程序的时候,发生了

一件有趣的事情。输出在最初弹出的主IDLE窗口中出现了,如图1.8所示。当编辑文件的时候,应该让提示符窗口(也叫作Python Shell)保持打开状态,因为它是运行程序的主输出窗口,即便在使用Pygame(下一章将详细介绍)这样的一个图形化窗口的时候,也是如此。


screenshot


screenshot


screenshot

1.2.2 Python语言

Python语言是一种看上去很奇怪的语言,似乎是由一个喜欢晦涩的Isles式幽默的旅行戏剧团设计的语言,而美国人认为那种幽默令人讨厌且无法理解。当然,这只是一种充满情绪化的、散布在大学课堂中的观点,因此,建议你不要全盘接受这种观点。Python功能强大,而且用途广泛,一旦你熟悉了它,会对它的功能感到吃惊。

要将Python和诸如C++这样的语言进行比较,真的是非常困难的,因为Python中没有开始括号和结束括号,也没有可以识别的函数名。Python类的构造函数不是很好看,哦,我不想立刻吓着你,搞得你要回过头去使用BASIC。倒不是说BASIC有什么错。我恰好特别喜欢一款叫做QB64(www.qb64.net)的工具,另一本名为Video Game Programming for Kids的书中将用到它。IDLE是Python包所包含的一款非常有用的文本编辑器,并且,我们将在本书中使用它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据:Parquet文件存储格式

一、Parquet的组成 Parquet仅仅是一种存储格式,它是语言、平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎和计算框架都已适配,并且可以…

“数据门”事件频发 如何避免人为因素导致数据泄露?

前段时间,某酒店集团数据泄露引起轩然大波,泄露的数据中包含了用户姓名、手机号、邮箱、号等多项信息。卖家对这个约5亿条数据打包出售价格为8比特币或520门罗币。而关于此次信息泄露事件的原因,目前尚未定论。据悉,由于集团某程序…

lamda获取参数集合去空_JAVA集合框架知识

1. Vector用法和ArrayList区别(1) Vector的特有方法有哪些?void addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加1。(2) Vector与ArrayList的区别是什么?①Vector的add()方法是同步方法,ArrayList的add()方法是非…

Blazor学习之旅(2)第一个Blazor应用

【Blazor】| 总结/Edison Zhou大家好,我是Edison。最近在学习Blazor做全栈开发,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。本篇我们来构建第一个Blazor Web应用,…

HTTP与服务器的四种交互方式

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而H…

ubuntu 以太网已连接但是无法联网_工业以太网有多“牛X”?两个案例告诉你

现代生活中,工业以太网发挥的作用愈来愈重要。为增进大家对工业以太网的认识,本文将基于3方面介绍工业以太网:何为工业以太网物理层?工业以太网具有哪些优势?工业以太网两大方案介绍。如果你对工业以太网具有兴趣&…

http服务详解(1)——一次完整的http服务请求处理过程

前言:要熟练掌握一个服务,首先需要非常了解这个服务的工作过程,这篇就详细解释了http服务的请求处理过程。 一次完整的http请求处理过程 (1)流程图 (2)过程详解 0、DNS域名解析:递归…

线程管理(九)使用本地线程变量

声明:本文是《 Java 7 Concurrency Cookbook 》的第一章, 作者: Javier Fernndez Gonzlez 译者:郑玉婷 校对:方腾飞 使用本地线程变量 并发应用的一个关键地方就是共享数据。这个对那些扩展Thread类或者实现Runnable接…

5训练需要更改参数吗_糖尿病病人需要多喝水吗?多喝水的5大好处,了解一下...

糖尿病是典型的慢性疾病,需要在生活中多加讲究,从各方面进行预防,其中喝水也是非常重要的一项调控方法。这就与糖尿病影响到患者的代谢功能有一定的关系,如果能够保持良好的饮水习惯,就可以有效解决糖尿病带来的影响。…

wordpress搭建博客 主题推荐 2019

一、generatepress2.14 主页: 详情页: 二、 Astra 主页: 详情页: 三、Bstone 主页: 详情页: 四、Hestia 主页: 详情页: 五、Rife free 主页: 详情页:

Blazor学习之旅(1)初步了解Blazor

【Blazor】| 总结/Edison Zhou九月以来在学习Blazor做全栈开发,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。作为第一篇,我们先来了解一下这个Blazor到底是个什么鬼。什么是Bl…

C#合并文件夹图片列表 自定义排版顺序

本次程序编写主要为了将pdf word等文档转换为图片后设置不同的打印排版 前提 目标文件夹中的图片高宽都是一致的 /// <summary>/// 合并图片/// </summary>/// <param name"savedictory">文件保存目录</param>/// <param name"singl…

数据库分库分表、读写分离的原理和实现,以及使用场景

2019独角兽企业重金招聘Python工程师标准>>> 为什么要分库分表和读写分离&#xff1f; 类似淘宝网这样的网站&#xff0c;海量数据的存储和访问成为了系统设计的瓶颈问题&#xff0c;日益增长的业务数据&#xff0c;无疑对数据库造成了相当大的负载&#xff0c;同时…

谈谈一些有趣的CSS题目(十六)-- 奇妙的 background-clip: text

开本系列&#xff0c;谈谈一些有趣的 CSS 题目&#xff0c;题目类型天马行空&#xff0c;想到什么说什么&#xff0c;不仅为了拓宽一下解决问题的思路&#xff0c;更涉及一些容易忽视的 CSS 细节。 解题不考虑兼容性&#xff0c;题目天马行空&#xff0c;想到什么说什么&#x…

第五周软件工程作业-每周例行报告

一、PSP T名称C内容ST开始时间ED结束时间中断时间/min实际时间/minScrum会议第一次Scrum会议10月13日11:3010月13日12:10040第二次Scrum会议10月14日15:3010月14日15:55025第三次Scrum会议10月15日13:3010月15日14:05035第四次Scrum会议10月16日11:3010月16日13:00090第五次Scr…

Docker Desktop 可以直接启用Kubernetes 1.25 了

作为目前事实上的容器编排系统标准&#xff0c;K8s 无疑是现代云原生应用的基石&#xff0c;很多同学入门可能直接就被卡到第一关&#xff0c;从哪去弄个 K8s 的环境&#xff0c; Docker Desktop 自带了Kubernetes 服务&#xff0c;但是在过往的经验中就是用梯子也安装不了&…

MySQL - 视图

一、概述 Mysql 5.0 版本后开始引入视图。视图本身是一个虚拟表&#xff0c;不存放任何数据。在使用 sql 语句访问视图的时候&#xff0c;他返回的数据都是在查询过程中从其他表动态生成的。 二、使用视图   1、创建视图 CREATE VIEW comic_view as SELECT comic_id,name,pe…

Centos 磁盘管理及配额管理

实验内容&#xff1a;一.添加两块硬盘&#xff0c;使用LVM做成VG01组&#xff0c;在该VG中新建两个LV。二.将这两个LV格式化为ext4/xfs&#xff0c;开机自动挂载到系统mnt1,mnt2目录下。三.lv02开启磁盘配额功能&#xff0c;用来进行用户与组分配额的实验。四.在系统里添加用户…

OnionArch - 采用DDD+CQRS+.Net 7.0实现的洋葱架构

博主最近失业在家&#xff0c;找工作之余&#xff0c;看了一些关于洋葱&#xff08;整洁&#xff09;架构的资料和项目&#xff0c;有感而发&#xff0c;自己动手写了个洋葱架构解决方案&#xff0c;起名叫OnionArch。基于最新的.Net 7.0 RC1, 数据库采用PostgreSQL, 目前实现了…

全新升级的AOP框架Dora.Interception[2]: 基于约定的拦截器定义方式

Dora.Interception&#xff08;github地址&#xff0c;觉得不错不妨给一颗星&#xff09;有别于其他AOP框架的最大的一个特点就是采用针对“约定”的拦截器定义方式。如果我们为拦截器定义了一个接口或者基类&#xff0c;那么拦截方法将失去任意注册依赖服务的灵活性。除此之外…