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 为什么入门容易 精通难相关推荐

  1. python语言程序设计是什么,python语言程序设计教程

    python语言程序设计是什么 Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 最初被设计用于编写自动化脚本(shell),随着版本的 ...

  2. python语言程序设计嵩天-Python语言程序设计基础(第2版)嵩天课后答案

    嵩天.礼欣.黄天羽Python语言程序设计基础(第2版)习题答案本书提出了以理解和运用计算生态为目标的Python语言教学思想,在系统讲解Python语言语法的同时介绍了从数据理解到图像处理的14个P ...

  3. 如何自学python语言-我是如何学习Python语言?

    我喜欢学习新的东西,包括工具,算法,技巧等.一来是帮助我更好地解决问题,二来学习的进程令我愉悦. 我是一位数据工作者,经常会使用到各种软件和工具帮助我解决各种数据问题,比方说数据的抽取与解析,数据的加 ...

  4. Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)

    Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名) 目录

  5. Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略

    Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...

  6. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  7. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能

    Python语言学习:基于python五种方法实现使用某函数名[func_01]的字符串格式('func_01')来调用该函数[func_01]执行功能 目录 问题提出 代码五种设计思路 T1方法:e ...

  8. Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合

    Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合 目录 Python版本升级的原因 Text and binary data in P ...

  9. python语言的主网址-python官方网站

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人 ...

  10. Python编程语言学习:python语言中快速查询python自带模块函数的用法及其属性方法、如何查询某个函数关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略

    Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法.如何查询某个函数&关键词的用法.输出一个类或者实例化对象的所有属性和方法名之详细攻略 ...

最新文章

  1. 1049 Counting Ones
  2. python截取html图片大小,Python打开html文件,截取屏幕截图,裁剪并保存为图像
  3. Spring Cloud Alibaba - 12 使用Nacos的元数据实现金丝雀发布功能
  4. Python 标准库 urllib2 的使用细节
  5. 【cocos2d-x从c++到js】06:Google的继承写法解析
  6. redis的分布式解决方式--codis
  7. 前端学习(530):等分布局得间距方案第二种方式
  8. 2000条你应知的WPF小姿势 基础篇57-62 依赖属性进阶
  9. MySQL 在512M一下内存优化配置
  10. cmake安装包下载
  11. DxDiag中字段结构
  12. 酷我音乐盒去广告(续)
  13. 【ubuntu】gcc: fatal error: cannot execute ‘cc1plus’: execvp: No such file or directory
  14. 用树莓派(等)为 USB Midi 键盘增添连接方式
  15. 大二上半学期还挂科两门,大三上半学期就找到了外企实习工作,半年时间,我是怎么逆袭的?
  16. 给Date日期加上时分秒
  17. 「Mysql 事务 隔离级别」 读提交和可重复读的区别
  18. 左手坐标系 + 右手坐标系
  19. Linux环境下Kafka的下载配置和运行
  20. 知识图注意力网络 KGAT

热门文章

  1. [NOI2008]志愿者招募
  2. ZooKeeper与Eureka对比
  3. H5与Native交互之JSBridge技术
  4. 关于日志文件的一些处理
  5. Atitit.png 图片不能显示 php环境下
  6. ios中常用数据类型相互转换
  7. Cordova各个插件使用介绍系列(七)—$cordovaStatusbar手机状态栏显示
  8. 请问anroid怎么播放aac文件。
  9. D3.js(v3)+react 制作 一个带坐标与比例尺的散点图 (V3版本)
  10. 视图组件,路由组件,版本控制