《Python编程初学者指南》——1.2 Python简介

简介:

本节书摘来自异步社区《Python编程初学者指南》一书中的第1章,第1.2节,作者[美]Michael Dawson,王金兰 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 Python简介

Python是一种功能强大且易于使用的编程语言,由Guido van Rossum于1991年首次发布。读者可以用Python非常迅速地编写出一个小项目。不过,Python也在不断成长,现在已经可以用来编写强调任务的商业应用程序了。

如果仔细翻阅Python的文档,就可以发现其中大量引用了spam、eggs和数字42。这些全都是向Monty Python(英国喜剧剧团,Python这个名称就来源于此)致敬的。尽管Guido van Rossum是以这个剧团的名称来命名Python的,但Python语言的正式吉祥物还是变成了一条大蟒蛇(其实这样也好,要把六个英国喜剧演员的头像放到一个程序图标中确实不太容易)。

市面上的编程语言有很多,Python到底牛在哪?

1.2.1 Python易于使用

任何编程语言的主要目的就是在程序员的大脑与计算机之间构建起一座桥梁。大部分流行的编程语言(如Visual Basic、C#、Java)被认为是高级语言,也就是说,相对于机器语言,它们更接近于人类语言。它们确实也是如此。而Python(包括它那简明扼要的规范)则更接近于英语。创建Python程序是非常简单的,以至于人们都说它是“以思考的速度编程”。Python的简单易用对于专业程序员而言就意味着生产力。跟其他许多流行的编程语言相比,Python程序会更短一些,所需的编程时间也会更少一些。

1.2.2 Python功能强大

Python具备现代编程语言所应该具备的一切功能。读完本书之后,读者将可以编写带有GUI、能够处理文件、能够使用各种数据结构的程序。

Python非常强大,不仅吸引了全世界的开发人员,甚至连Google、IBM、Industrial Light & Magic、Microsoft、NASA、Red Hat、Verizon、Xerox、Yahoo!等企业也对它钟爱有加。专业的游戏开发人员也在使用Python。Electronic Arts、2K Games、Disney Interactive Media Group都发布过含有Python代码的游戏。

1.2.3 Python是面向对象的

面向对象编程(Object-oriented programming,OOP)是一种利用计算机解决问题的现代手段,它指的是一种在程序中直观地表示信息和动作的方式。虽然它不是编写程序的唯一手段,但对于大项目而言,它确实是最好的那种。

诸如C#、Java、Python这样的语言都是面向对象的。但Python做得更好一些。在C#和Java中,OOP是必须的。这也就使得小程序也必须得拥有不必要的复杂度,而且还要求新手们必须事先了解一大堆的东西才行。而Python就不同了。在Python中,OOP不是必须的。用户随时都可以用上OOP所带来的任何功能,而且还可以只在有需要的时候才用。遇到一个完全不需要OOP的小程序?没问题。遇到一个需要OOP且需要一群人一起开发的大项目?还是没问题。Python不仅功能强大,而且灵活性也非常好。

1.2.4 Python是一种“胶水”语言

Python可以跟其他语言(比如C、C++、Java等)结合使用。也就是说,程序员在用Python编程时可以用上一些已经用其他语言写好的东西。此外,这也意味着人们可以充分利用其他语言的优势。比如说,在享受Python那简洁的开发方式(这简直就是Python编程的标志)的同时,让程序具有C或C++所带来的高效性。

1.2.5 Python无所不在

从掌上电脑到超级计算机,Python可说是无所不在。如果客厅里没有超级计算机的话,也可以在Windows、Macintosh或是Linux电脑上运行Python。而这些也正是首选的运行平台。

Python程序是平台无关的。也就是说,无论程序是在哪种操作系统编写的,它都能在其他任何装有Python的计算机上运行。因此,当用户在自己的电脑上编写了一个程序之后,可以通过电子邮件将其发给使用Linux的朋友们或是使用Mac的大妈,该程序在他们的电脑上一样是可以运行的(只要他们的电脑上装了Python就行)。

1.2.6 Python有一个强大的社区

大部分编程语言都有一个专门的新闻组,而Python则还有一个叫作Python Tutor的邮件列表,新手们可以随意在这里提问。该邮件列表的网址是http://mail.python.org/mailman/listinfo/tutor 。虽然这个邮件列表叫作Tutor,但不管是新手还是老手都可以上去问问题。

还有一些关注某些特定方面的Python社区,它们的共同点就是:尽量地友好和开放。正是因为Python本身就适合于新手,所以这一点也是说得通的。

1.2.7 Python是免费的、开源的

Python是免费的,一分钱都不用花就可以将其安装到电脑上。实际上,Python的许可协议允许做的事情还不止如此。用户可以复制或修改Python,甚至还可以进行转售(但是可别辞了现在的工作哦)。不断坚持开源的理念正是使Python变得如此流行和成功的根源之一。

相关文章
|
3天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
16 5
|
6天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
6天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
27 2
|
12天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
32 2
|
13天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
13天前
|
开发者 Python
使用Python构建Web应用的简介
【4月更文挑战第28天】
|
13天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
25 3
|
13天前
|
机器学习/深度学习 数据可视化 数据挖掘
实用技巧:提高 Python 编程效率的五个方法
本文介绍了五个提高 Python 编程效率的实用技巧,包括使用虚拟环境管理依赖、掌握列表推导式、使用生成器提升性能、利用装饰器简化代码结构以及使用 Jupyter Notebook 进行交互式开发。通过掌握这些技巧,可以让你的 Python 编程更加高效。
|
3月前
|
Linux 开发工具 C语言
30天python速成-第一天(python简介及下载安装)
30天python速成-第一天(python简介及下载安装)
53 3
|
3月前
|
Linux 开发者 iOS开发