python是一种动态语言这意味着_Python如何能成为全球最受欢迎的编程语言?该不该学Python?...

全文共3304字,预计学习时长10分钟

9358d109b3de9c821b904067dbf01a0c1bd843dd.jpeg?token=2b61925a91667aba9da3a29dafa8b712图源:(Python logo courtesy of https

有一种语言在过去十年受喜爱度一路飙升,成为最受欢迎的一种编程语言,它是谁?

千呼万唤始出来,没错,它就是我们的老弟Python。

Python是一种易于使用、阅读和转换的对象型编程语言,由C语言实现。

最近,Python被评为全球最受欢迎的编程语言,其中有很多原因在不断稳固它的地位,但也有许多原因使其可能失去该头衔。

30adcbef76094b36e07db166521de5df8f109da2.jpeg?token=b5c7c0d05d48dd409e7ac3f6f4a1946f

Python的用途是什么?

Python是一种解释型语言,这意味着任何编译器或汇编器都不能将其放入机器代码中。相反,使用Python的另一种语言——C语言,可以用来解释Python.h头文件。通常情况下,可以把Python归入脚本类,但在笔者看来,不忽略Python作为编程主要部分的地位至关重要。

可执行?

Python的一大缺点是,Python代码不能被编译成可执行文件。用Python编写的任何应用程序或工具都需要在终端用户系统上安装Python及其依赖项,且要安装与之对应的正版安装包,这些版本与用于开发所述应用程序的安装包相对应。

d8f9d72a6059252d928c91be8cea993d5ab5b96d.png?token=51966c834b6ef479aba5607c9a4784a7

网站?

Python已经证明其在运行网站后端方面的惊人才能,这也是Python相对于许多其他语言的一大优势。Python拥有大量不可思议的安装包来部署APIs、甚至设计功能齐全的网站应用程序。

机器学习

机器学习是Python的另一重要用途,这无疑有助于Python在近年来迅速广受欢迎。机器学习是技术研究的前沿领域,Python及其与C语言的密切关系对机器学习研究非常高效有用。虽然Python确实缺乏一些诸如Nim、Julia和Go等语言的性能,但在很多方面,它的快速、简单、简洁可以弥补这一点,但可能其通用性更为重要。

Unix

如果不讨论现代类unix系统,就很难讨论Python。Python 2.7已被弃用两个月,笔者的桌面环境及操作系统中的更多特性仍然运用Python2.7。Bash和Python的组合可以生成一些非常有用的脚本,用于运行服务器、填充数据、完成请求、编辑文件,当然还有更多作用。

30adcbef76094b36e07db166521de5df8f109da2.jpeg?token=b5c7c0d05d48dd409e7ac3f6f4a1946f

Python的缺点

50da81cb39dbb6fd48dda1b3bf55311e962b371c.jpeg?token=0314af29fdb739791fbda3bf0bdc1526来源:Pexels

虽然Python确实是门伟大的语言,对全世界造成巨大影响,但每种语言都有其缺点,Python也不例外。首先,最显著的一个缺点是:

Python运行缓慢。

性能

虽然笔者肯定同意使用日志及for each方法,并且通常情况下,编写出更好的代码肯定能加快Python的运行速度,但在某些情况下,代码一定会变慢,机器学习就是个很好的例子,因为训练神经网络常需使用递归。笔者无法告诉你有多少次编写过用Python提取数据的脚本,然后在命令行接口(CLI.)中经历超时和减速。

为缓解这种情况,人们做出了一些努力,使用了颇有影响力的Cython,但在尝试使用Cython时,转换通常并是完全不相关。尽管在很多情况下,Python的局限性不被察觉,但如果说笔者从来没有过必须切换到Julia、Nim或C语言才能完成某些工作,那一定是无稽之谈。

依赖项

Python的另一个重大缺点是依赖项和虚拟环境。关于Python领域中的脚本语言,笔者认为,Python在依赖项和虚拟环境方面做得很好。我喜欢将Python比作我使用的有类似作用的两种语言——Julia和Nim,Julia依赖项的世界与Python非常类似,其有一个在我主观看来的优点,即虚拟环境要好很多且更易使用。

然而,随着Nim的加入,Python将被遗弃。使用Nim,可以创建一个已编译执行文件,其中包含所需的所有依赖项。在如何为终端用户和部署处理依赖项及安装包方面,Nim轻松完胜Python和Julia。

30adcbef76094b36e07db166521de5df8f109da2.jpeg?token=b5c7c0d05d48dd409e7ac3f6f4a1946f

Python的好处

尽管对Python颇有怨言,但它确实也有很多方面招人喜欢。

Python的令人敬佩之处

Python是一种常用的编程语言,它有很多优点:

· 易搜索

· 易讨论

· 性能好

· 修补程序很多

不仅如此,Python功能强大,用起来十分可靠,这使得Python成为初学者的最佳选择,同时也使那些想要快速构建稳定、持久技术的人同时运用这些技术更为容易。

Python看起来很英文范儿

像Python这种语言和类似脚本语言之间的一个很大的区别就是Python的可读性和容易理解性。通常,阅读Python就像阅读一本关于与数字等同变量的奇怪又抽象的书。这不仅使初学者更容易接受,而且也使转变、修改和解码更容易进行,这些都极为重要,特别是对有数千名开发人员在其中工作的大型代码池而言。

老实说,大家都宁愿写Python而不愿写C语言。

Python作为开源软件

虽然对一些人来说,他们的语言是否免费和开源可能并不重要,但对笔者而言,这非常重要。Python基金会的运行主要依靠捐款和教育证书,这意味着Python是一个完全免费和开放的软件,有人编写代码供你使用,这太棒了。

30adcbef76094b36e07db166521de5df8f109da2.jpeg?token=b5c7c0d05d48dd409e7ac3f6f4a1946f

Python会寿终正寝吗?

6f061d950a7b02089279edc6daa868d5562cc8da.jpeg?token=53e133b31d89286b09412a88bf2e61a1来源:Pexels

实际上,我经常被问到的一个问题是,“你认为Python会存在多久?”这个问题经常出现在机器学习领域,因为Python有许多跟机器学习的相关问题。有趣的是,任何一种语言都可能是静态的,且在很长一段时间内将作为最广泛使用的编程语言。

在C语言之前,Fortran广受欢迎,在C++之前,C语言广受欢迎,在Java之前,C++也是如此,这样的例子不胜枚举,而且总会按此发生。计算机让人兴奋不已,因为它不断发展,随之而来的研究技术也不断进步。就在30年前,16GB内存(RAM)的想法听起来还极为荒诞,因此,人们根本不知道未来的编程语言会是什么样子。

虽然Python最终很可能会被另一种编程语言超越,但在笔者看来,人们仍然在编写Fortran、C语言、Java和c++,记住这一点极为重要;所以Python本身很可能会与我们同行,并在很长一段时间内被广泛使用,不管它可能变得多么不受欢迎。

其他编程语言

eaf81a4c510fd9f92f6866e6935c4e2c2934a4be.jpeg?token=804a42716675bfcd22e920a2f8d5ec39图源:(src = http://julialang.org/)

Python流行所面临的最大威胁可能是其他的新编程语言。上述所讨论的语言——Julia和Nim,在笔者看来是Python目前的两大竞争对手。Julia当然能改变我们进行机器学习的方式,而Nim绝对是高级脚本的一个巨大创变者。

8694a4c27d1ed21b53863e7b1a1f47c250da3f5c.jpeg?token=11c969e781741d5098c44f0dbb17f1c6图源:(https://nim-lang.org/)

目前,虽然这些语言可能还没有得到很多支持,但它们表现出笔者认为的重要一点:

进步大有可能。

也就是说,Python不是一堵坚实的砖墙,编程语言、机器学习和脚本语言的进步肯定不会就此止步。笔者认为,这些语言之所以未获成功,部分原因是它们都是统计型语言,而且在很大程度上为功能性语言,笔者理解,对于那些一直坚持使用并热爱Python的人而言,该概念让人震惊不已。

30adcbef76094b36e07db166521de5df8f109da2.jpeg?token=b5c7c0d05d48dd409e7ac3f6f4a1946f

结论

cf1b9d16fdfaaf5175320d1e3b250ee8f11f7a32.jpeg?token=c52528bf7127c7a008d1fc26d76c6e5e来源:Pexels

应该学习Python吗?

答案毋庸置疑。

Python作为一种很好的入门语言,可以帮助你熟悉如何解决问题,开始编程。与包括Julia和Nim在内的其他语言相比,Python拥有丰富的资源,这就使得它更易学习。

一门语言的大火始终伴随着另一门语言的没落,我不认为Python会很快消失。

但作为一名程序员,不断成长很重要,开阔视野更重要。如果你用Python已有一段时间,那么可以开始学习第二种语言。尝试一种不同模式的语言,并了解那种模式及所选语言的类编程方法论如何运用这些概念。

这样的话,你不仅能学会使用更快的方法,而且还能学会许多之前甚至都不曾考虑的事情。

加油,你是最棒的~

0b46f21fbe096b63aabd0a80fce21e42e9f8ac96.jpeg?token=bb38836f630f02703477a36122c80e68

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python处理csv文件案例_让繁琐的工作自动化——python处理CSV文件

让繁琐的工作自动化——python处理CSV文件CSV:CSV文件是一种简化的电子表格,不同于Excle(二进制文件),CSV是纯文本文件。1.环境python3.8pycharm2020.12.读取本期实例数据haha,18,10.0jiji,16,12.1lala,17,11.9papa,11,13.3首先导入csv模块&a…

python实现坐标求取_根据相机位姿求指定点的世界坐标及其python实现

Authorshaniadolphin求解目的本文将展示位姿估计的一种应用,即通过单目相机对环境进行测量。简单来说,本文的工作就是利用下面的两幅图,在已知P1、P2、P3、P4四点世界坐标的情况下,计算出其它点的世界坐标。如图所示,一…

c# treeview查找并选中节点_最通俗易懂的二叉查找树(BST)详解

原来来自 呆萌数据结构-06二叉查找树​imoegirl.com二叉查找树(Binary Search Tree),简写BST,是满足某些条件的特殊二叉树。任何一个节点的左子树上的点,都必须小于当前节点。任何一个节点的右子树上的点,都…

服务器损坏mysql修复_云服务器mysql数据库损坏修复mysql

有的时候因为各种原因导致mysql数据库损坏,我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库,检查优化并修复所有的数据库.1.先在运行中输入CMD,启动命令行.2.进入Mysql的Bin目录:D:\VHostData\MySQL5.1\bin,(这个路径在数据库的安装目…

bootstrap jquery alert_bootstrap第七课

bootstrap 模态框bootstrap是一个非常酷的前端开发框架,它可以大大的简化我们日常开发当中的功能与样式。它有非常漂亮的css组件和非常实用的控件供我们使用。接下来我们来看看bootstrap的内容吧!首先大家要引入bootstrap的css和js可以在这里下载&#x…

java 闭包_公司新来的女实习生问我什么是闭包?

作者:霍语佳来源:前端食堂观感度:?????口味:冰镇西瓜烹饪时间:20min撩妹守则第一条,女孩子都喜欢童话故事。那就先来讲一个童话故事~// 有一个公主// 她生活在一个充满冒险的奇妙世界里// 她遇见了她的…

java org.apache.http_org.apache.http jar包下载-org.apache.http.jar包下载 --pc6下载站

org.apache.http.jar包是一款十分常用的jar包如果没有org.apache.http.jar包Apache与http的链接将会出现错误等现象马上下载org.apache.http.jar包。。相关软件软件大小版本说明下载地址org.apache.http.jar包是一款十分常用的jar包,如果没有org.apache.http.jar包,Apache与htt…

网络连接异常、网站服务器失去响应_网站常见故障解决办法

网站在运行过程中,常常遇到各种服务器问题,虽然有服务器厂商的维护,但是往往耗时耗工小编对常见的服务器问题,进行了归纳整理,下面跟各位分享一下。常见故障分析一、恶意攻击在我平时管理网站时,可能会遭到…

python3 sleep 并发_python异步编程之asyncio(百万并发)

点击上方蓝字关注我们目录[python 异步编程之 asyncio(百万并发)]一、asyncio二、aiohttp前言:python 由于 GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在 IO 密集型的网络编程里,异步处理比同步处理能提升成…

【Spring实战】02 配置多数据源

文章目录 1. 配置数据源信息2. 创建第一个数据源3. 创建第二个数据源4. 创建启动类及查询方法5. 启动服务6. 创建表及做数据7. 查询验证8. 详细代码总结 通过上一节的介绍,我们已经知道了如何使用 Spring 进行数据源的配置以及应用。在一些复杂的应用中,…

windows查看usb信息命令_【VPS】Linux VPS查看系统信息命令大全

本文转自老左笔记,自用mark系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加…

无法初始化sftp协议。主机是sftp服务器吗?_WinSCP v5.15.3 免费的 开源图形化 SFTP 客户端...

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。主要功能WinSCP 可以执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重…

java中组合_java中组合模式详解和使用方法

组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创…

道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?

理论上来说,腾讯视频VIP可以同时在3个设备上登录,但只能在2个设备上同时播放视频。这也就意味着,腾讯视频VIP可以在两个手机上同时使用。腾讯视频VIP基本可以分为微信区、QQ区,两者并不互通。近期腾讯视频手机端修改了登录规则&am…

java 字符串是对象吗_解析Java中的String对象的数据类型

解析Java中的String对象的数据类型2007-06-06eNet&Ciweek1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. …

7-7 六度空间 (30分)_现役球员中,谁最可能成下一位30000分先生?3大前十巨星没戏...

想要在NBA联盟得到3万分有多难?从联盟成立至今的70多年中,总得分超过3万分的球员一共只有7位,他们分别是贾巴尔、马龙、詹姆斯、科比、乔丹、诺维茨基和张伯伦,剩下的强如大鲨鱼、艾弗森都没能完成这一壮举,那现役球员…

java右键弹出菜单_javascript自定义右键弹出菜单实现方法

本文实例讲述了javascript自定义右键弹出菜单实现方法。分享给大家供大家参考。具体实现方法如下:无标题页var oPopup window.createPopup();function PopMenu(id){var oPopBody oPopup.document.body;oPopBody.style.backgroundColor "buttonface";oP…

union all动态表_Excel VBA——动态显示图表

本文讲述将柱形图和折线图做成动态图表的方法。所谓动态是指鼠标点到哪个单元格,就显示活动单元格所在列或行的图表,其中折线图可以让数据点依次显示,使得整个图表不再死板,像变 了一样!在开始之前,需要先介…

xnio java_java基础篇---新I/O技术(NIO)

在JDK1.4以前,I/O输入输出处理,我们把它称为旧I/O处理,在JDK1.4开始,java提供了一系列改进的输入/输出新特性,这些功能被称为新I/O(NEW I/O),新添了许多用于处理输入/输出的类,这些类都被放在ja…

picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片

前提:图片必须是.jpg或.bmp格式的图片。(一)将保存在电脑桌面上的图片显示在EasyX窗体中,图片路径为:C:甥敳獲Administrator.USER-20190823VFDesktop锤头镰刀旗.jpg。(二)程序代码:#include#includeint main(){initgraph(500,300)…