学习目的
最近突然心血来潮,想学python,真实的目的就是结合树莓派做开发了。初步打算做一套智能家居,因为之前有java作为我的基础,所以应该学起来是比较快的。我一个java程序猿也来蹭一蹭Python的热度吧,见识一下python的强大之处!!!
Python介绍
python是荷兰计算机大师“龟叔”又称吉多 Guido van Rossum 在1989年的圣诞节期间开发出来的编程语言,据说理由是打发无聊的圣诞节,WOC!大佬,果然干什么都很随意!
python用起来之所以很方便,一个原因就是库非常多,python自带的封装库,第三方库,众多,覆盖了网络、文件、GUI、数据库、文本等。
python的作用众多,例如网站的后台开发,国内有名的豆瓣,就是使用python作为后台开发语言,还有就是今日头条,以前的老版本就是使用python作为后台开发语言。Python的另一个作用就是写一些脚本,这一点很受运维人员的青睐,开发一些运维小工具,都特别好用。
Python的优点
- 代码简洁易懂,语法简单。如果以后其它语言的程序猿字拿着他的几万行的代码在你面前嘚瑟,你就可以用Python重现他的代码,可以仅仅是几千行,而且非常易懂。
- 就是上面说的优点,代码库非常丰富。
- 最后一个只能说用途广泛吧
Python的缺点
干什么事都要进行双面评测啊,既然说了python的优点,那就得说一说python的缺点啊。
- 执行速度慢,相对于c语言来说速度慢很多
- 代码不能加密,C语言可以将写完的代码进行编译,如果不想给别人代码,那就可以给别人编译生成的链接文件(也就是生成以.o为结尾的文件),但是python不可以,如果想让别人使用你的程序,那么只能给出你的源代码(当然,其它手段生成exe文件不能算)
提示:python作为解释型语言,解释一行执行一行,不像c语言那样,可以一次性直接编译生成机器码。所以相对c语言慢很多。但是换来的就是可移植性强,trade off。
Python解释器
CPython
当我们从官网下载下来python之后,我们平常使用的就是CPython,包括pycharm、控制台中。顾名思义,CPython就是使用c语言开发的python解释器
IPython
IPython就是在CPython之上增强了一下交互模式,其他的和CPython没什么不一样的。
CPython的命令行提示符为 >>>,而IPython中,命令行提示符为in [序号]:
PyPy
一款用Python开发的Python解释器,目的在于执行python代码的速度
注意:当一个代码放到CPython的PyPy下执行可能得到不同的结果,因为解释方式不一样。底层实现逻辑也是不一样的。
JPython
一款可以运行在Java平台上的Python解释器,可以将Python代码便以为class字节码(我是java程序猿,对class字节码特别敏感)
IronPython
和JPython相似,一款运行在.Net平台上的Python解释器,可以将Python代码编译生成.Net字节码