Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行为主要有三点原因:Python 简单易用,学习成本低,看起来非常优雅干净;Python 标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用;Python 站在了人工智能和大数据的风口上。python 并不是新兴的编程语言,只不过他火爆的时候比较的晚而已,那么 python 的特点有哪些呢?
Python
Python 语言主 9 个特点
1.简单易学
Python 是一种代表简单主义思想的语言。阅读一个良好的 Python 程序就感觉像是在读英语段落一样,尽管这个英语段落的语法要求非常严格。 Python 最大的优点之一是具有伪代码的本质,它使我们在开发 Python 程序时,专注的是解决问题,而不是搞明白语言本身。
2.面向对象
Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如 C++和 Java 相比, Python 以一种非常强大又简单的方式实现面向对象编程。
3.可移植性
由于 Python 的开源本质,它已经被移植在许多平台上。如果小心地避免使用依赖于系统的特性,那么所有 Python 程序无需修改就可以在下述任何平台上运行,这些平台包括 Lnux、Windows、 FreeBSD、 Macintosh、 Solaris、OS/2、Amiga、AROS、AS/400、Beos OS/390、Z/OS、 Palm OS、QNX、VMS、 Psion、 Acorn RISC OS、VxWorks、 PlayStation、 Sharp Zaurus、Windows CE,甚至还有 PocketPC、Symbian 以及 Google 基于 Lnux 开发的 Android 平台。
4.解释性
一个用编译性语言如 C 或 C++写的程序可以从源文件(即 C 或 C++语言)转换到一个计算机使用的语言。这个过程通过编译器和不同的标记、选项完成。当运行程序的时候,连接转载器软件把程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于不再担心如何编译程序,如何确保连接转载正确的库等,这一切使得使用 Python 变得更加简单。由于只需要把 Python 程序复制到另外一台计算机上,它就可以工作了,这也使得 Python 程序更加易于移植。
5.开源
Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。 FLOSS 是基于一个团体分享知识的概念,这是为什么 Python 如此优秀的原因之一 ——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进这的。
6.高级语言
Python 是高级语言。当使用 Python 语言编写程序时,无需再考虑诸如如何管理程序使用的内存一类的底层细节。
7.可扩展性
如果需要一段关键代码运行的更快或者希望某些算法不公开,就可以把部分程序用 C 或 C 语言编写,然后在 Python 程序中使用它们。
8.丰富的库
Python 标准库确实很庞大,它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGl、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GU(图形用户界面)Tk 和其他与系统有关的操作。记住,只要安装了 Python,所有这些功能都是可用的,这被称作 Python 的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如 wXPython、 Twisted 和 Pyon 图像库等。
9.规范的代码
Python 采用强制缩进的方式使得代码具有极佳的可读性。
Python 的缺点
1.运行速度慢
运行速度慢是解释型语言的通病,Python 也不例外。
Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。
Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。
2.代码加密困难
不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。