我在今天看了一篇文章,是简书的全网程序猿写的,Java已经退出神坛,python稳居第一。
python是由龟叔写的,它在英文的意思是蟒蛇。
根据编程语言流行指数排行榜2019年2月的榜单
据了解,目前的Python份额高达26.42%,猛增5.2%,依然被一路看涨,而Java同比下跌1.3%,排名第二。
为何大家如此喜爱Python呢?理由如下:
1、Python应用面十分广泛,大到航天飞机,包括谷歌也在大量使用Python开发。
2、Python代码简洁易懂,相比于Java:C++,简洁程度为:10(Python):100:1000。
3、如果想学机器学习,必须学习Python,现在的人工智能的发展在过去几年已经有了惊人的发展速度,正在不断改变着我们周围的一切。
关于python的几个概念:
- Python
一种支持面向对象和函数式(面向过程)的高级编程语言
- CPython
由 C 语言编译,一种默认的,通常我们所提及的基于 C 的 Python 的一种实现
- Cython
一种 Python 到 C 的一种转换器,用于对 CPyhton 做模块扩展,在一定程度上可以有一定的性能提升
- Jython
一种设计运行在 Java 平台的 Python 编程语言的实现
- IronPython
一种设计运行在 .NET CLR 平台的 Python 编程语言的实现
- PyPy
具有即时编译(JIT)功能的 Python 编程语言的实现
python 关于编译性语言和解释性语言的区别:
解释型语言是吃火锅,编译型语言是炒好菜,直接吃. 比喻二: 解释型是说一句翻译一句,编译型,说完所有的再翻译。
解释型语言: 执行一句代码生成一段字节码(与平台无关的中间码),代码在虚拟机(python解释器)里执行,转换成目标平台(cpu)上的指令, 再到cpu里执行.
编译型语言: 是一次性将代码全部生成机器语言(目标平台上的指令),再到指定cpu里执行.所以编译型语言,要到其他cpu中运行,代码需要重新编译.
两者区别: 一, 执行一句生成一段, 一次性. 二, 有虚拟机, 无虚拟机-à 解释型,可以在多平台运行, 编译型在指定平台运行.
python 的特点:
Python语言是一种面向对象的解释型语言
(1) 解释型,开源,简单,易学,免费
(2) 可扩展性,丰富的库,可移植性,面向对象
(3) 规范的代码(十分严格)
python语言的优点(看自博客园忍冬的你的博客)
⑴Python的伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
⑵易学。python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。
⑶Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python希望看到一个更加优秀的人创造并经常改进。
⑷可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
⑸在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
⑹Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
⑺ 可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
⑻丰富的库。Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
⑼ Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。
⑽规范的代码。Python采用强制缩进的方式使得代码具有极佳的可读性。
python语言的缺点
很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。(对很多用户而言这也不算是限制)
⑴运行速度,有速度要求的话,用C++改写关键部分吧。不过对于用户而言,机器上运行速度是可以忽略的。因为用户根本感觉不出来这种速度的差异。
⑵既是优点也是缺点,python的开源性是的Python语言不能加密,但是目前国内市场纯粹靠编写软件卖给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。
⑶ 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。