浅淡Python-初学者不得不说的秘密

不知道大家是否知道,Python的出现其实很偶然,是著名的“龟叔”Guido vanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。既然圣诞节快到了,闲来无事,也来跟大家唠唠Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容 易,而且将来深入下去,可以编写那些非常非常复杂的程序。

Python的哲学就是尽量写容易看明白的代码,尽量写少的代码。如果一个资深程序员向你炫耀 他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。

但是,人无完人,Python的缺点是什么呢?

第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成 CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以 非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程 序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1 秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一 样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远 是20公里。

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不 用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C 代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越 来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源 代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是 代码写得太烂了,一旦开源,就没人敢用他们的产品了。

当然,Python还有其他若干小缺点,请自行忽略,就不一一列举了。

综上所述,Python的缺点那都不是事。如果你是小白用户,满足以下条件:

会使用电脑,但从来没写过程序;

还记得初中数学学的方程式和一点点代数知识;

想从编程小白变成专业的软件架构师;

每天能抽出半个小时学习。

想要入编程这行,Python是个不二选择。

本文来自企鹅号 - PythonStar媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

入门 IOS 逆向从我的经历说起

在这里以讲故事的形式分享一下我踏入信息安全这条路的一些经历吧,希望能帮到一些人,正文开始:

57640
来自专栏ImportSource

听说Redis5.0发布了,那个Streams好叼

在这个商业世界中,如果你占领了概念高地就意味着有种先天的优势。就好比你给自己起了一个名字叫Java。

90430
来自专栏Java社区

Java自学?Java编程资源大放送

84040
来自专栏七夜安全博客

python基础教程第一课

18250
来自专栏北京马哥教育

Linux 内核学习经验总结

学习内核,每个人都有自己的学习方法,仁者见仁智者见智。以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下。

75720
来自专栏noteless

7.计算机网络的发展 计算机网络发展背景 原因 阿帕网与计算机网络 通信方式 电路 报文 分组 包 交换 卡恩 瑟夫 网络控制协议 NCP TCP ip诞生发展 tcp 协议族 应用编程接口

https://baike.baidu.com/item/%E4%BA%92%E8%81%94%E7%BD%91%E5%8F%91%E5%B1%95%E5%8F...

23930
来自专栏大数据文摘

去IOE的另外一条路径:全内存数据库弯道超车

23180
来自专栏大数据文摘

解密千万密码:透过密码看人性

20220
来自专栏FreeBuf

解密千万密码:透过密码看人性

对于密码,我们已经知道了不少。比如,多数密码短小、简单、且容易破解。但我们对一个人选择某个密码的心理原因却所知甚少。在本文中,我们分析了包括企业CEO、科学家...

18960
来自专栏程序人生

上帝说:要有一门面向未来的语言,于是有了 erlang

今个谈谈 erlang。 这些文章流于表面,更多是简单的介绍。这篇文章不同,因为 erlang 并不是一门新语言,简单介绍它的人不算少,我希望这篇文章能在深度上...

428110

扫码关注云+社区

领取腾讯云代金券