总目录:https://blog.csdn.net/qq_41106844/article/details/105553392
Python - 子目录:https://blog.csdn.net/qq_41106844/article/details/105553333
什么是Python
Python 是一种解释型,交互式,适合初学者的面向对象语言。
Python的由来
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
Python的优势和劣势
Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂。
但是乐高能拼出来简单的人物和建筑,难道就不能拼出来复杂的机器人和复式建筑了吗?
Python还有两个诟病,第一个是运行速度,另一个是全局解释器锁。
有个笑话是
甲使用100秒开发一个C++程序,运行速度1S。
乙使用50S开发一个JAVA程序,运行速度5S。
丙使用10S开发一个Python程序,运行速度50S。
但是实际情况是:
python执行时间25秒,用pypy执行时间1.64秒,用numba加速为1.6秒。
c语言在本机上执行时间1.4秒。
Java运行速度1.55秒(jre8)。(计算0到50000的和)
可见引入jit编译后,性能直逼c语言,而写python比写c容易太多,比java简洁,写代码速度也是非常非常重要。
当然 上面一整段都是笑话。
先看看YouTuber对Python的看法:
听说YouTuber在和Instagram吃饭时,是不说Python的,否则YouTuber分分钟变祥林嫂。
YouTube代码有很清晰的分层和业务模块分离设计,这样很难有一个独裁架构师管控全局设计,下面的人进行一点局部优化都可能破坏原有设计。
接着就是Python多线程模式带来的性能屏障。
为了破解这些东西,同时为了和Google系统交互,YouTube开始一点一点置换代码架构,重写数据库,设计C++的微服务,无论怎么样,YouTube都不再是一个Python的大型项目。
但是YouTube毫不疑问曾经是一个很好的Python-web项目。
Python很容易写出一些让人们很难发现的BUG。
大型项目上使用Python确实不是最优选择。
Python看起来优雅,其实没有独裁者统筹全局的话,很难看,很难维护。
确实,Python比起“大开发”来说,更适合进行判断,判定。
例如:映射,统计,数据处理之类的等等。总结就是处理数据,而不是生产数据。
除了汇编,其他的语言都只是工具而已。他们都有自己擅长同时不擅长的东西。
语言不是一个可以长久获得回报的东西,过度关注语言不如选择一个自己喜欢的CS领域