Py学习  »  Python

你对编程语言“顶流”Python了解多少呢

智慧链技术社区 • 4 年前 • 434 次点击  

当今科技飞速发展,给每个人的生活都带来了越来越多的变化。互联网作为推动科技发展的主要阵地,在大数据、人工智能、区块链等技术取得重大突破。这些互联网技术的日新月异,都离不开各种编程语言搭建基础。今天,智慧君就带大家了解编程界30年的“常青树”—Python。

但是,Python在受到广泛欢迎的同时也面临了许多的的争议。有人认为未来几十年依旧会是Python的天下,也有人认为Python受到过度吹捧,会被取代。任何东西都有其两面性,有利有弊,接下来,智慧君便与大家分享所整理的Python的利与弊。


首先,Python语言拥有诸多的优点:


简单易学

Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为Python语言简单易学,所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如,在浙江省2017年高中信息技术改革中,《算法与程序设计》课程将使用Python语言替换原有的VB语言。


语法优美

Python语言力求代码简洁、优美。在Python语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。


丰富强大的库

Python语言号称自带电池(BatteryIncluded),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。


开发效率高

Python的各个优点是相辅相成的。例如,Python语言因为有了丰富强大的类库,所以,Python的开发效率能够显著提高。相对于C、C++和Java等编译语言,Python开发者的效率提高了数倍。实现相同的功能,Python代码的文件往往只有C、C++和Java代码的1/5~1/3。虽然Python语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用Python语言,很大程度上是因为Python语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python语言在互联网公司使用非常广泛。


应用领域广泛

Python语言的另一大优点就是应用领域广泛,工程师可以使用Python做很多的事情。例如,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。Python语言介于脚本语言和系统语言之间,我们根据需要,既可以将它当做一门脚本语言来编写脚本,也可以将它当做一个系统语言来编写服务。


但是,Python并不是完美的,也有些许不足之处:


Python的执行速度不够快

当然,这也不是一个很严重的问题,一般情况下,我们不会拿Python语言与C/C++这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。


Python的GIL锁限制并发

Python的另一个大问题是,对多处理器支持不好。如果读者接触Python时间比较长,那么,一定听说过GIL这个词。GIL是指Python全局解释器锁(GlobalInterpreterLock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。


Python2与Python3不兼容

如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。在Python中,一个槽点是Python2与Python3不兼容。因为Python没有向后兼容,给所有的Python工程师带来了无数的烦恼。


Python能火三十年,说明它的确有强大的实用性和生命力,地位毋庸置疑。但世上没有完美的东西,我们也应该客观看待它的不足之处,切勿过度吹捧。

不管是Python,还是其他语言,他们的都是助力科技发展的工具。我们应该掌握好这些工具,合理使用它们,让它们更好地发挥作用,推动科技发展。


请关注WDC官方平台动态



微博:@WisdomChain智慧链



Twitter:@Wisdom_Chain


Facebook:@WisdomChain


Github:github.com/WisedomChainGroup


Telegram:https://t.me//WisdomPublibcChain


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55446
 
434 次点击