您的位置:首页 > 编程语言 > Python开发

Python自学笔记day_01

2020-07-14 06:26 267 查看

一、Python历史发展与应用

Python的创始人是吉多·范罗苏姆。1989年雏形初现,1991年正式发布。

历史发展

几个重要的时间点如下:

  1. 2004.11.30发布WEB框架Django
  2. 2008.10.1 发布Python2.6
  3. 2008.12.3 发布Python3.0,Python3.x和Python2.x是有源码区别的
  4. 2010.7.3 发布Python2.7,官方宣布此版本至2020年不再更新,但因为开源的关系,其实有些厂还是在更新此版本的

应用

五个主要的应用:

  • Web开发
  • 网络爬虫
  • 人工智能
  • 数据分析
  • 自动化运维

二、Python的编程语言分类

编译型:C、Java、C++
解释型:Python、Javascript

三、Python的种类

  • Cpython:官方推荐解释器,可以转化成C语言能识别的字节码(使用率最高)
  • Jpython:可以转化成java语言能识别的字节码
  • Ipython:基于Cpython之上的一个交互式解释器,它只是比Cpython在交互式上有所增强,但是执行代码的功能和Cpython是完全一样的。
  • IronPython:可以转化成.net语言能识别的字节码
  • pypy:动态编译。把Python从解释型语言变成了编译型语言,这样Python既执行效率高,又开发效率高,但是这个好像还没推广,可能是还不完善,这块需要后面再做了解。

四、Python的优缺点

优点

  1. 崇尚简单、清晰、优美,所以对入这行的小白来说,是比较友好的
  2. 开发效率很高,Python拥有强大的第三方库的支持,基本上你能想到的功能,官方都给你写好了相应的模块支持你实现,直接下载调用即可,这样能大大降低开发周期。(如果后期学的好的话,有自己的想法,能给Python库添加一个新的功能,那就牛逼了!!!)
  3. 一个不算特别的优点,它是一门高级语言,你无需考虑如何管理你的程序使用内存的一类底层细节。
  4. 可移植性比较好,这点和java类似。
  5. 扩展性比较好,我个人的理解是和其他语言的对接,比如我可能有一段代码比较核心,不希望让别人轻易知道,那我可能就把这段代码用C或者C++去实现了,然后放到Python程序中去使用他们。
  6. 相反,我也可以把Python程序嵌入到C或C++程序中,为我的程序提供一些脚本支持。(目前只知道这些,应该还有其他应用方式,后续学到了再补充)

缺点

  1. 因为是解释型语言,需要读一行解释一行成二进制,所以执行效率低
  2. 同样还是因为是解释型语言,它的源码无法加密,不过这个我个人认为不是一个什么缺点,只能算是一个特点。除了本着代码共享的精神外,我认为要是真不想公开源码,从一开始你的项目就不会用Python写了。
  3. 这个应该是Python最为人诟病的一个缺点,它不能并发多线程。由于GIL(Global Interpreter Lock)全局解释器锁的存在,使得任何时刻只能有一个线程在执行,而Python的线程操作用的是操作系统的原生线程。在Linux上为pthread,在Windows上是Win thread,完全是由操作系统调度线程的执行。(关于pthread和win thread还不是很了解,后续了解之后做一个链接过来,丰富知识面。另外关于此缺陷,我相信有很多Python的追逐者已经有了相应的解决方法,这块需要后面再找资源研究)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: