沃尔沃s90缺点太多(沃尔沃xc90最真实优缺点)
12892023-08-30
大家好,今天给各位分享Python有什么缺点呢的一些知识,其中也会对为什么我不建议python进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
本文目录
首先,看下你学Python是想用来做什么的,以下几点分析供你参考:
1.用来做人工智能领域研发,必须推荐,因为Python的AI生态是最全面的,社区也是最活跃的,而且Python用起来足够简单。
2.用来开发软件,比如后台服务器应用,不建议直接使用Python,因为Python是弱类型语言,且封装程度很高。虽然学起来很简单,但是这也会让你忽略了程序运行的很多概念和类型对于一个程序的意义,所以从Python入门编程的话不建议,并不是说Python不好,而是建议学一门相对底层一些的语言,如java,C++,或者C,这样你会对编程有更深层次的认识。后面有一定编程经验了,Python也是值得一学的
3.用来做爬虫或者辅助工具,也是跟推荐的,毕竟Python代码简洁,且开发效率高,第三方库很全面。
以上是我的建议,仅供参考。
python有什么用?向上思考一下,编程有什么用?编程是为了更好的某些解决问题,再往下思考,学python是不是也是为了某些解决问题,只要在某一领域的这些问题上,没有能够替代python的编程语言出现,那学python就有用。
接着,再向下思考一下python有什么用?
学习层面入门简单,进阶难度大,学习难度基本分布在中后期。
爬虫简单上手,然后就会发现,只会爬虫啥也干不了。重点不是用python爬取数据而是用python处理数据,然而这个难度不低。
工作层面现在python的岗位不算多,多为数据分析,人工智能这些方面的,前些年所谓热门的爬虫岗位其实真的不需要太多人,或者说这就是培训公司的一个噱头而已。
而数据分析,人工智能这些岗位首先数学要好,学python是为了快速上手,学的快的一两周基本就学完了,相比Java等的一些语言,这个速度快到飞起。
除了计算机专业的职业,一些和处理数据相关的行业也要学习python,比如一些风投公司,金融分析师,但是学习python不一定能找到这些工作。
日常生活层面python在日常生活中是提高效率的有力工具。
python脚本自动操作office文档,自动导入数据,定时导出。
爬虫找资料,找工作,都很方便,但是注意不要违法。
还有数据可视化,在计算一些日常生活中收入消费比,行业发展情况等方面简直不要太好用。
任何编程语言都是有用的,只是看什么时候该用和什么时候好用。
编程语言只是一种工具,掌握背后的原理才是真正发挥作用的开始。
Python语法简单,使用方便,有数量极为庞大的软件包可以使用,使用Python开发的效率极高!但Python又被无数人吐槽运行效率低,更要命的是工程化开发(多人协作开发、代码量很大)时极易踩雷,出现bug难以追踪!有很多人吐槽Python应该被淘汰,传着传着就成了Python即将被淘汰!
下面我重点讲讲Python被人传言即将被淘汰的两大致命缺陷!
一、Python运行效率低
Python是一门动态语言,简单的解释一下它运行慢的原因:Python解释器在程序运行时遇到首次出现的变量,要根据它的值动态分配内存;再次用到该变量时要计算它的引用次数;在引用次数完毕后还要负责销毁变量回收内存。而静态语言是在编译时就计算好变量占用的空间,程序加载时已经为其分配好内存,至于销毁变量回收内存的方式不同的静态语言又有区别,这里不再赘述。通过比较可以得知,Python的便利是因为Python解释器做了非常多额外的工作,Python的效率低也正是因为Python解释器做了过多的工作。
另外一个Python是30年前开发的编程语言,那时候还没有多核CPU,所以那时作者没考虑到Python运行时怎么利用多核运行,Python代码运行都是靠Python解释器将代码翻译成电脑可以执行的二进制指令。后来出现了多核CPU,很多人为了提高Python运行效率开发了Python线程包和进程包,但有一座大山至今绕不过去——GIL(全局解释器锁),造成Python软件始终没法真正利用多核CPU。
二、Python开发工程化易踩雷
Python不能强制约束变量类型、函数参数和方法参数的类型。Python程序有非常多的bug一方面是由于函数调用者传参不符合要求造成的;另一方面很多函数编写者编写函数时对参数检查不够细致,对参数不符合要求时不返回提示信息或提示信息不足。这两种情况造成了很多隐性bug极难发现!在所有代码代码量小时这些问题不明显,但对于软件开发工程化(工作量越来越大、参与人数越来越多)是一个相当要命的缺陷!
目前Python新版本也增加了参数类型提示的语法和功能,期望上述问题有所改观,但Python要考虑兼容以前版本的软件包,无法做到类似typescript那样强制约束!顺带提一嘴,JavaScript也是一门类似Python的动态语言,也有对参数类型约束弱的毛病,在工程化开发时同样被无数人吐槽,所以目前前端工程化开发很流行用TypeScript(伪静态语言,最终还是要编译成JavaScript代码执行),TypeScript比JavaScript强在对参数约束力,参数不合要求根本不能通过编译!
总结:
该死的历史包袱!Python极难绕过GIL(全局解释器锁)以提高对多核CPU的利用率!!!Python也极难强制约束参数类型!!!所以Python被传言即将被淘汰不奇怪!
但是就好比瑞士军刀,一把小小的瑞士军刀涵盖了剪刀、螺丝刀、锤子、尺子、起子众多功能,虽然它不如专门的剪刀、螺丝刀、锤子趁手,但就是有人爱用瑞士军刀!只要这世上还有人爱用瑞士军刀,那么这世上一样会有人爱用Python!!!
Python是一种优点、缺点都极为鲜明的编程语言,它即将被淘汰是传言!
但如果想要吃程序员这碗饭,只会Python的程序员即将被淘汰不是传言!
作为一个写了5年Python的程序员,我来回答一下
1.没有大括号,靠缩进。我用了5年,还是觉得大括号好。
2.没有switch。虽然靠ifelse一样可以表达,但就是没有switch看着舒服。
3.假线程。在进行CPU密集计算任务时,只能靠多进程,而进程通信不管成本还是写法上,都比线程通信麻烦。
4.不适合多人协同开发。虽然新版本有了类型声明,但跟编译型语言比起来,多人协同开发,对开发者要求较高,否则代码很容易失控,merge代码的人也很痛苦,很多时候,感觉还不如一个人写。接手别人的代码也是,“动态一时爽,重构火葬场”。
5.性能较差。虽然大部分时候都不是问题,毕竟现在系统最大的瓶颈在数据库或者网络通信,但,越快越好,不是吗?
6.Python2和3的兼容问题,很烦。尤其是有很多人拿着Python2的代码找我帮忙调试,我都是直接改写成Python3搞定。
7.之前一直是小众语言,自动阿尔法狗横空出世,就变成大众普及语言了。但是,明显感觉到,还是有很多对python不熟的人,心里觉得,这种技术不靠谱,有些时候,只能耐心跟他们沟通解释。
说了那么多,还是说一条优点吧(优点很多,我就随便说一条,虽然题目没问)
人生苦短,我用python。就凭节省你大量时间可以用来干更美好的事情这一条,足以说服很多人。毕竟,简单可依赖,不是用嘴说的,是真的靠事实证明的。
关于Python有什么缺点呢和为什么我不建议python的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。