python语言的优点及与其他语言相比

一、编程语言是什么

是用来定义 计算机程序 的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作。简单来说,编程语言就是人类和计算机进行交流的语言。Python就是一门编程语言,而且是现在世界上最流行的编程语言之一。

二、Python的优点和缺点

Python是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库的一门弱类型的可移植,可扩展,可嵌入的解释型编程语言

优点:
  • 语言特点
    简洁优雅,易学容易上,及其简单的语法,省略了各种大括号和分号,还有一些关键字,类型说明,你能够专注于解决问题而不是去搞明白语言本身。

  • 语言类型
    解释型语言,运行的时候是一行一行的解释,并运行,所以调试代码很方便,开发效率高。可移植性,可以在任何系统上运行。

  • 第三方库
    python是免费开源的,并且python的定位时任由其发展,应用领域很多,比如Web,运维,自动化测试,爬虫,数据分析,人工智能.除了庞大的标准库,Python具有非常完备的第三方库wxPython、Twisted和Python图像库等等。(python标准库和第三方库介绍:https://www.cnblogs.com/jiangchunsheng/p/9275881.html )

缺点:
  • Python的执行速度不够快
    Python是一门解释型语言,所以它的速度相较于c/c++ 会慢一些.但是并不影响使用,因为现在的硬件配置都非常的高,基本没什么影响.除非是一些实时性比较强的程序可能会受到,一些影响,但是也是有解决办法的,可以嵌入c\c++代码

  • Python的GIL(Global Interpreter Lock)全局解释器锁
    ----GIL是什么?
    首先明确一点GIL并不是Python的特性,而是解释器的特性.它是Python的解释器Cpython用来做多线程的控制和调度用的全局锁.保证同一个时刻只有一个线程在运行.Python还有一些别的解释器,比如Jpython就没有GIL锁.Cpython现在已经成了python的实现标准,所以我们都说python具有GIL限制.
    GIL的问题总体上来说是历史遗留的问题,以前的计算机的程序运行方式是单核多任务的模式,所以为了防止多个任务对同一资源进行同时的操作,竞争资源,才有了全局的解释器锁.但是随着近年来科技的进步,出现了多核,这样的话,全局锁就会限制多线程的并行.
    ----解决方法
    (1)使用multiprocessing(多进程)替代Thread(多线程)
    multiprocessing库的的出现弥补了Python多线程并发限制的不足,每个进程都有自己独立的GIL,因此也不会出现进程之间的GIL的争夺.
    (2)GIL只是Cpython解释器的产物,当然可以用其他的解释器来替代,但是由于其他的解释器,对C支持的不是很好,多以一直也不是很受欢迎.
    (3)Python社区也在对GIL对于多线程的支持的一些改进.比如增加线程的优先级(高优先级的线程可以迫使其他线程释放所有的GIl锁)
    (4)如果对并行计算性能较高的程序可以考虑把核心部分写成C模块,或者直接用其他语言代替.

三、python和其他语言相比

  • Python和Java相比:
    Python比Java要简单。Python是函数为一等公民的语言,而Java是类为一等公民的语言.Python是弱类型语言,而Java是强类型语言.

  • python和C相比
    对于使用:
    Python的类库齐全并且使用简洁,很少代码实现的功能用C可能要很复杂
    对于速度:
    Python的运行速度相较于C,绝对是很慢了.Python和CPython解释器都是C语言编写的

编译性和解释型语言

解释型:就是边解释边执行
编译性:编译后再执行

参考:
https://www.jianshu.com/p/373cdf20039d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值