我心中的王者:Python-第1章 基本观念

我心中的王者:Python-第1章 基本观念

1-1 认识Python

Python是一种直译式(Interpreted )、面向对象(Object Oriented )的程序语言,它拥有完整的函数库,可以协助轻松地完成许多常见的工作。
所谓的直译式语言是指,直译器(Interpretor)会将程序代码一句一句直接执行,不需要经过编译(compile)动作,将语言先转换成机器码,再予以执行。目前它的直译器是CPython,这是由C语言编写的一个直译程序,与Python一样目前是由Python基金会管理使用。
Python也算是一个动态的高级语言,具有垃圾回收(garbage collection)功能,所谓的垃圾回收是指程序执行时,直译程序会主动收回不再需要的动态内存空间,将内存集中管理,这种机制可以减轻程序设计师的负担,当然也就减少了程序设计师犯错的机会。这种垃圾回收功能最早是LISP语言,后来的Java、C#等著名的程序语言都支持这个功能。
由于Python是一个开放的源码(Open Source),每个人皆可免费使用或为它贡献,除了它本身有许多内置的套件(package)或称模块(module),许多单位也为它开发了更多的套件,促使它的功能可以持续扩充,因此Python目前已经是全球最热门的程序语言之一,这也是本书的主题。

1-2 Python的起源

Python的最初设计者是吉多·范罗姆苏(Guido van Rossum),他是荷兰人,1956年出生于荷兰哈勒姆,1982年毕业于阿姆斯特丹大学的数学和计算机系,获得硕士学位。
本图片取材自下列网址https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/800px-Guido_van_Rossum_OSCON_2006.jpg

在这里插入图片描述

吉多·范罗姆苏(Guido van Rossum)在1996年为一本O’Reilly出版社出版作者名为Mark Lutz所著的《Programming Python》的序言表示:“6年前,1989年我想在圣诞节期间思考设计一种程序语言打发时间,当时我正在构思一个新的脚本(script)语言的解释器,它是ABC语言的后代,期待这个程序语言对UNIX C的程序语言设计师会有吸引力。基于我是蒙提派森飞行马戏团(Monty Python’s Flying Circus)的疯狂爱好者,所以就以Python为名当作这个程序的标题名称。”

在一些Python的文件或书封面喜欢用蟒蛇代表Python,从吉多·范罗姆苏的上述序言可知,Python灵感的来源是马戏团名称而非蟒蛇

1999年他向美国国防部下的国防高等研究计划署DARPA(Defense Advanced Research Projects Agency)提出Computer Programming for Everybody的研发经费申请,他提出了下列Python的目标。

  • 这是一个简单直觉式的程序语言,可以和主要程序语言一样强大。
  • 这是开放源码(Open Source),每个人皆可自由使用与贡献。
  • 程序代码像英语一样容易理解与使用。
  • 可在短期间内开发一些常用功能。

现在上述目标皆已经实现了,Python已经与C/C++、Java一样成为程序设计师必备的程序语言,然而它却比C/C++和Java更容易学习。

目前Python语言是由Python软件基金会管理,有关新版软件的相关信息可以在这个基金会网址(www.python.org)上下载浏览。
在这里插入图片描述

1-3 Python语言发展史

1991年Python正式诞生,当时的操作系统平台是Mac。尽管吉多·范罗姆苏(Guido van Rossum)坦承Python是构思于ABC语言,但是ABC语言并没有成功,吉多·范罗姆苏本人认为ABC语言并不是一个开放的程序语言,是主要原因。因此,在Python的推广中,他避开了这个错误,将Python推向开放式系统,而获得了很大成功。

Python 2.0发表

2000年10月16日Python 2.0正式发表,主要是增加了垃圾回收的功能,同时支持Unicode。

所谓的Unicode是一种适合多语系的编码规则,主要方式是使用可变长度字节方式存储字符,以节省内存空间。例如,对于英文字母而言使用1个字节空间存储即可,对于含有附加符号的希腊文、拉丁文或阿拉伯文等则用2个字节空间存储字符,两岸华人所使用的中文字则是以3个字节空间存储字符,只有极少数的平面辅助文字需要4个字节空间存储字符。也就是说这种编码规则已经包含了全球所有语言的字符了,所以采用这种编码方式设计程序时,其他语系的程序只要支持Unicode编码皆可显示。例如:法国人即使使用法文版的程序,也可以正常显示中文字。

Python 3.0发表

2008年12月3日Python 3.0正式发表。一般程序语言的发展会考虑到兼容特性,但是Python 3在开发时为了不要受到先前2.x版本的束缚,因此没有考虑兼容特性,所以许多早期版本开发的程序是无法在Python 3.x版本上执行。

不过为了解决这个问题,尽管发表了Python 3.x版本,后来陆续将3.x版本的特性移植到Python
2.6/2.7x版本上,所以现在我们进入Python基金会网站时,可以发现有2.7x版本和3.6x版本的软件可以下载。

笔者经验提醒:有一些早期开发的冒险游戏软件只支持Python 2.7x版本,目前尚未支持Python3.6x版本。不过相信这些软件未来也将朝向支持Python 3.6x版本的路迈进。

Python基金会提醒:Python 2.7x已经被确定为最后一个Python 2.x的版本。

笔者在撰写此书时,同时下载2个版本彻底了解了这2个版本的区别,基本上所有程序是以Python 3.x版本作为撰写此书的主要依据。

1-4 Python的应用范围

尽管Python是一个非常适合初学者学习的程序语言,在国外有许多儿童程序语言教学也是以Python为工具,然而它却是一个功能强大的程序语言,下列是它的部分应用。

  • 设计动画游戏。
  • 支持图形接口(Graphical User Interface,GUI)开发。
  • 开发与管理网站。
  • 执行大数据分析。
  • Google、Yahoo!、YouTube、NASA、Dropbox(文件分享服务)、Reddit(社交网站)在内部皆大量使用Python做开发工具。
  • 黑客攻防。

1-5 跨平台的程序语言

Python是一种跨平台的程序语言,几乎主要操作系统,例如,Windows、Mac OS、UNIX/LINUX等,皆可以安装和使用,本书所有程序实例皆在Windows和Mac OS下测试完成。跨平台的程序语言意味,你可以在某一个平台上使用Python设计一个程序,未来这个程序也可以在其他平台上顺利运作。

1-6 系统的安装与执行

有关安装Python的步骤请参考附录A。下列将以Python 3.6x版本为例做说明。
在这里插入图片描述

1-7 Python 2与Python 3不相容的验证

在这里插入图片描述
在这里插入图片描述

1-8 文件的建立、存储、执行与打开

如果设计一个程序每次均要在Python Shell窗口环境重新输入指令的话,这是一件麻烦的事,所以程序设计时,可以将所设计的程序保存在文件内是一件重要的事。

1-8-1 文件的建立

在这里插入图片描述

1-8-2 文件的存储

在这里插入图片描述

1-8-3 文件的执行

在这里插入图片描述

1-8-4 打开文件

在这里插入图片描述

1-9 程序注释

程序注释主要功能是让你所设计的程序可读性更高,更容易了解。在企业工作,一个实用的程序可以很轻易超过几千或上万行,此时你可能需设计好几个月,程序加上注释,可方便你或他人,未来较方便地了解程序内容。

1-9-1 注释符号#

不论是Python Shell直译器或是Python程序文件中,“#”符号右边的文字,皆是称程序注释,Python语言的直译器会忽略此符号右边的文字。可参考下列实例。
在这里插入图片描述

1-9-2 三个单引号或双引号

如果要进行大段落的注释,可以用三个单引号或双引号将注释文字包夹。

程序实例ch1_3.py:以三个单引号当作注释。
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值