Python 为什么入门容易 精通难
Python都说是最容易学习的编程语言,但是为什么还是有很多的小白在学习的过程中学的云里雾里,一天到晚都是报错,异常,这也怪不得会有那么多人说,学Python是从入门到入土!
其实一门编程语言不像语文那样。靠死记硬背就行了的,他是需要结合实战加上自己所掌握的知识来实现一个程序,这样学起来才有成就感,才能感觉学习编程语言不会枯燥!
第一次接触 Python 是在一节编程入门课上。其实,在此之前了解过它,所以在上课之前我对它的语法已经很熟悉了,但在上课之前我没有用它做过真正的项目。
尽管对它没有太大兴趣,但我认为把它介绍给人们去学习编程还是很好的。我对它不是不喜欢,而是一种“无所谓”的态度。原因很简单:它里面有太多“魔法”。 C 和 Java 这些语言,对底层的行为描述的很清晰,Python 则完全相反。
另外,Python 结构松散:写大型复杂程序时,遇到规则严谨的程序结构体(比如每个文件一个公共类),比其他语言(比如 Java )要费些力气。但是,在这些方面 Python 给了你很大的自由。
我曾经和很多人做过很多项目,不同的人用不同的系统。就我而言,我经常在windows系统和Linux系统之间切换。
举一个实际的例子,有一个项目,我写了项目的自动测试脚本,结果发现只有我能用,因为是用 PowerShell 写的,而我是项目中唯一使用 Windows 的。当时同事们自然认为 bash 是最好的,我还向他们解释 PowerShell 遵循一种不同的模式并且有它的强项(例如,它提供了 .NET 框架接口),它是面向对象的脚本语言,和 bash 完全不一样。
毫无疑问,Python 确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python 并不是没有缺点的,最主要的缺点有以下几个:Python 的执行速度不够快。
当然,这也不是一个很严重的问题,一般情况下,我们不会拿 Python 语言与 C/C++ 这样的语言进行直接比较。在 Python 语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分 Python 本身消耗的时间;
另一方面,因为 Python 特别容易和 C 结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用 Python 脚本将这部分应用连接起来,以提高程序的整体效率。
Python 的 GIL 锁限制并发:Python 的另一个大问题是,对多处理器支持不好。
如果读者接触 Python 时间比较长,那么,一定听说过 GIL 这个词。
GIL 是指 Python 全局解释器锁(Global Interpreter Lock),当 Python 的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。
当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的 Python 实现来运行我们的程序。
Python 2 与 Python 3 不兼容:如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。
在 Python 中,一个最大就槽点就是 Python 2 与 Python 3 不兼容。
因为 Python 没有向后兼容,给所有的 Python 工程师带来了无数的烦恼。
Python 为什么入门容易 精通难的更多相关文章
- Python从入门到精通视频(全60集) ☝☝☝
Python从入门到精通视频(全60集) Python入门到精通 学习 教程 首先,课程的顺序需要调整:一和三主要是介绍学习和布置开发环境的,一介绍的是非VS开发,三介绍的是VS开发.VS2017现在 ...
- Python从入门到精通视频(全60集)✍✍✍
Python从入门到精通视频(全60集) 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...
- Python 从入门到精通:一个月就够了
毫无疑问,Python 是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事.其实,只要掌握了科学的学习方法并制定了合理的学习计划, ...
- 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...
- 【Python从入门到精通】(二十五)Python多进程的使用
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本篇重点介绍Python多进程的使用,读者朋友们可以将多进程和多线程两者做一个对比学习. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题 ...
- ❤️【Python从入门到精通】(二十七)更进一步的了解Pillow吧!
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 进一步介绍Pillow库的使用,详细了解 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 前言 本文是 ...
- Python从入门到精通
最近研究了一下Python,名不虚传,确实挺精彩. 学习一门新的语言,我认为从入门到精通的做法是:下SDK.装IDE.练教程.结合工作应用.不断踩坑进阶.梳理总结 1.下SDK(2.7.15) 下载地 ...
- 游戏引擎 Unity 的入门易精通难体现在哪?为什么?
04月212014年 [王楠的回答(37票)]: 为什么入门简单,看一下官网的文档和视频教程就知道了,看完几段视频和例子就能让初学者做出能玩的东西,其他同类商业引擎都做不到.物体+组件的结构,所见 ...
- Python 从入门到精通 全程最佳实现梳理
零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,26年前 编程泛型 多泛型.面向对 ...
随机推荐
- gRPC-Protocol基础知识-C#篇
本文使用协议缓冲区语言的proto3版本,为C#程序员提供了使用协议缓冲区的基本介绍. 通过创建一个简单的示例应用程序,展示了如何 在.proto文件中定义消息格式. 使用协议缓冲区编译器. 使用C# ...
- linux下Crontab定时任务
1.命令格式 crontab [-u user] file crontab [-u user] [-e | -l | -r ] 2.命令参数 -u user:用来设定某个用户的crontab服务: f ...
- Linux常用字段
cd 切换路径 vim,vi 打开文档 ls 查看文件信息 chmod 修改文件或目录的权限 useradd 添加用户 cat 查看纯文本文件(少内容) rm 删除文件或目录 mv 剪切文件或文件重 ...
- eureka源码--服务的注册、服务续约、服务发现、服务下线、服务剔除、定时任务以及自定义注册中心的思路
微服务注册后,在注册中心的注册表结构是一个map: ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>& ...
- nginx 1.12 负载均衡配置
负载均衡策略有以下几种: 请求轮询:round-robin,是默认策略,应用服务器的请求以循环方式分发,可以设置权重weight,默认权重均为1,因此每台后端服务器接受的请求数相同. 最少连接:lea ...
- VS2013 C++ 生成与调用DLL(动态链接库) 需要验证
转载:https://blog.csdn.net/s978697043/article/details/82429802 一.创建动态链接库(生成.dll .lib 两个文件) 文件→新建→项目 选择 ...
- c++中CString:: Find , ReverseFind, Left, Right
CString 是在MFC中的头文件 非MFC加上afx.h头文件 直接上代码: // ConsoleApplication1.cpp : Defines the entry point for th ...
- Win10安装MongoDB
1. 下载安装包:mongodb-win32-x86_64-2012plus-4.2.7-signed.msi 2. 安装,注意选择安装目录 3. 新建配置文件mongo.conf: ``` #数据 ...
- Centos7安装MySQL8.0(RPM方式)
人生处处皆学问,工作也是如此!过去不止一次在Linux上安装MySQL,可以说轻车熟路,但是写篇文章总结一下,发现有很多细节值得学习! 安装包选择 为什么用rpm? 在Linux系列上安装软件一般有源 ...
- ASP。使用依赖注入的asp.net Core 2.0用户角色库动态菜单管理
下载source code - 2.2 MB 介绍 在开始这篇文章之前,请阅读我的前一篇文章: 开始使用ASP.NET Core 2.0身份和角色管理 在上一篇文章中,我们详细讨论了如何使用ASP.N ...