如何才算精通Python?在Python学习中,我们都有哪些误区?相信你看完这篇文章都会得到解答。心灵也会得到释放!

如果不能,我希望这篇回答能让你意识到自己Python知识还存在哪些不足,在之后的学习中,从哪些方面去改进。

一、精通是个伪命题

怎样才算精通Python,这是一个非常有趣的问题。

很少有人会说自己精通Python,因为,这年头敢说精通的人都会被人摁在地上摩擦摩擦。其次,我们真的不应该纠结于编程语言,而应该专注于领域知识。

比如,你可以说你精通数据库,精通分布式,精通机器学习,那都算你厉害。但是,你说你精通Python,这一点都不酷,在业界的认可度也不高。

再者,

Python使用范围如此广泛,一个人精力有限,不可能精通所有的领域。就拿Python官网的Python应用领域来说,Python有以下几个方面的应用:

Web Programming: Django, Pyramid, Bottle, Tornado, Flask, web2py

GUI Development: wxPython, tkInter, PyGtk, PyGObject, PyQt

Scientific and Numeric: SciPy, Pandas, IPython

Software Development: Buildbot, Trac, Roundup

System Administration: Ansible, Salt, OpenStack

如果有人声称精通上面所有领域,那么,请收下我的膝盖,并且,请收我为徒。

既然精通Python是不可能也是没有意义的事情,那么,为什么各个招聘要求里面,都要求精通Python呢?我觉得这都是被逼的。为什么这么说呢,我慢慢跟大家分析!

二、为什么招聘要求精通Python

绝大部分人对Python的认识都有偏差,认为Python比较简单。相对于C、C++和Java来说,Python是比较容易学习一些,所以,才会有这么多只是简单地了解了一点语法,就声称自己会Python的工程师。

打个比方,如果一个工程师,要去面试一个C++的岗位,他至少会找一本C++的书认真学习,然后再去应聘。Python则不然,很多同学只花了一点点时间,了解了一下Python的语法,就说自己熟悉Python。

这也导致Python的面试官相对于其他方向的面试官,更加容易遇到不合格的求职者,浪费了大家的时间。Python面试官为了不给自己找麻烦,只能提高要求,要求求职者精通Python。

三、怎样才算精通Python

既然精通Python本身是一件不可能的事情,而面试官又要求精通Python,作为求职者,应该达到怎样的水平,才敢去应聘呢?我的观点是,要求精通Python的岗位都是全职的Python开发,Python是他们的主要使用语言,要想和他们成为同事,你至少需要:

1. 能够写出Pythonic的代码(什么是Pythonic的代码,请看我在另一个问题下的回答:怎样才能写出pythonic的代码? - 知乎用户的回答)

2. 对Python的一些高级特性比较熟悉

3. 对Python的优缺点比较了解

这样说可能比较抽象,不太好理解。我们来看几个例子,如果能够充分理解这里的每一个例子,那么,你完全能够顺利通过"精通Python"的岗位面试。

大家在编程的时候,经常会遇到这样的场景:先执行一些准备操作,然后执行自己的业务逻辑,等业务逻辑完成以后,再执行一些清理操作。

比如,打开文件,处理文件内容,最后关闭文件。又如,当多线程程序需要访问临界资源的时候,线程首先需要获取互斥锁,当执行完成并准备退出临界区的时候,需要释放互斥锁。

对于这些情况,Python中提供了上下文管理器(Context Manager)的概念,可以通过上下文管理器来控制代码块执行前的准备动作以及执行后的收尾动作。

我们以处理文件为例来看一下在其他语言中,是如何处理这种情况的。Java风格/C++风格的Python代码:

Pythonic的代码:

四、结论

这篇文章很长,但是,我相信对很多人都会有帮助。这里想说的是,Python是一门编程语言,使用范围非常广泛,大家不要去追求精通Python程序语言自身,而应该将精力放在自己需要解决的实际问题上。

其次,绝大多数人对Python的认识都存在误区,认为Python很简单,只是简单地了解一下就开始写Python代码,写出了一堆很不好维护的代码,我希望这一部分人看到我的回答以后,能够回去重新学习Python。

最后,对于一些同学的疑虑——招聘职位要求精通Python,我的回答是,他们并不奢望招到一个精通Python的人,他们只是想招到一个合格的工程师,而大部分的Python工程师,都,不,合,格!

很多伙伴也会问我Python有哪些岗位就业?好不好就业!

学 JavaWeb 的有必要学 PythonWeb 么?

目前市场开发的python更多是测试和自动化岗位吧?

web市场中,大型的项目被java占领,小型的有php,python如何在web市场分一杯羹?优势劣势在哪?

python在其他方面,比如爬虫啊,数据挖掘等方面的就业前景和学的要求怎么样?

这些都是总结下来伙伴们的问题

我在这里也跟大家做一个回复:

这个不是有没有必要的问题, 不论用什么语言都可以开发出web系统, python, php, java都行,如果单就从实现功能的角度来讲都没有区别, 都能实现

, 但是要考虑到开发效率, j

ava是完全没法和python比的, 比如一个小的系统, 用java开发,你要去打开ide,配置maven, 下载spring等等框架配置好开发环境,编写代码然后编译成class之后再运行,这些其实可能一个python文件都能搞定的事情,等到你把开发环境搭建好,python都已经开发完了。当然这里只是拿了一个小系统做例子, 大系统也是一样的, 这里只是讨论了一个开发效率问题。如果单就从开发功能上来讲, 用javaweb开发出来之后如果你不考虑以后想提升开发效率的话,当然不用去学习python web开发。

目前市场上python的职位远不止测试和自动化岗位, 你如果去做云存储之类的就知道openstack实际上就是用python开发的, 很多只要涉及到这块的都会招python开发。实际上很多web项目立项之初用java立项的原因都是因为考虑到java人才容易招到而不只是java本身有多大的优势。实际上很多创业公司开始逐步转向用开发效率高的python和php作为web开发。而且java在web系统方面也在逐渐被python, go 和nodejs蚕食。

python目前在python和数据处理领域几乎都是首选语言,后期随着人工智能时代的来临, 很多公司特别是小公司会急于向数据方面考虑,首先第一个要解决的问题就是爬虫爬取数据, 所以数据和爬虫职位近两年应该会逐渐增多。

精通python能干嘛-很多人说精通Python?对于精通我们存在哪些误区相关推荐

  1. Python入门教程:很多人推荐学 Python 入 IT ,如果学完 Python 找不到工作怎么办...

    Python入门教程:很多人推荐学 Python 入 IT ,但是如果学完 Python 找不到工作怎么办,这也是很多人担心的问题. 很多人推荐通过学习 Python 入行 IT 一是因为 Pytho ...

  2. 精通python能干嘛-一个程序员怎样才算精通Python?

    原标题:一个程序员怎样才算精通Python? 作者:赖明星 我会先给出我对精通Python的理解,然后给出一些Python中有难度的知识点.如果大家在看完我这篇回答之前,已经充分理解了我列出的各个知识 ...

  3. 如何学好Python?相信很多人都做错了!

    Python入门从哪开始,以我的过往经验,发现很多的教程都是这样讲的: 先介绍 Python 的基本语法规则.list.dict.tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等I ...

  4. python语言有什么用-为什么现在很多人都使用Python语言有什么优势

    很多人觉得程序猿是高薪的代表,很多人都想学习一门编程语言,如果你想选择一种语言来入门编程,那么Python绝对是首选!其非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.接下来一起看看 ...

  5. 人工智能时代,为什么很多人都看好Python的发展?

    Python这两年的热度,似乎预示着未来是Python的江湖了,这有许多原因.那么Python这门语言,究竟为什么这么火爆,市面上的信息冗杂,经常看到说Python语言简单实用.那么Python相较于 ...

  6. 学了python能干啥举例-第9p,Python是什么?学了Python能干什么?

    原标题:第9p,Python是什么?学了Python能干什么? 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第9篇文章,第二阶段的课程:Python基础知识之Python语言介 ...

  7. 自学python能干什么知乎_自学python能干什么

    自学python能干什么? 1,比如可以做web应用开发 在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也是基于Python语言,这使得web开发这块在国内发展的很不错. ...

  8. 为什么要学习Python编程语言?哪些人适合学习Python?

    先回答第一个被初学编程的朋友问到最多的问题,为什么要学习Python编程语言? 答:现在信息更新的非常快速,又迎来了大数据的时代, 各行各业如果不与时俱进,都将面临优胜劣汰,知识是不断的更新的,只有一 ...

  9. python能干啥、实际生活-学习Python可以做什么?从事哪些岗位?

    Python可以说是现在大家都比较熟悉的编程语言,而且也是一门软件开发语言,近几年来在市场上Python语言的发展趋势是非常快的,在多个领域都得到了很好的应用,在编程语言领域发展是非常快的,获得了很多 ...

最新文章

  1. 手机移动端网站建设这些细节问题需重视
  2. 让Spring架构减化事务配置(转)
  3. Java--PATH环境变量
  4. [BZOJ2152]聪聪可可(点分治)
  5. springboot获取静态图片路径_springboot为实体追加图片路径
  6. 数论(Mathmatics)总结[1]
  7. 全网AI和机器学习资源大合集(研究机构、视频、博客、书籍...)
  8. python爬虫小案例
  9. 中国象棋AI在线弈游戏源码
  10. 企业实战之部署Solarwinds Network八部众
  11. 通过车牌识别实现进出厂无人值守
  12. JAVA2EE 十三大规范
  13. 联想y700安装黑苹果_【EFI】联想Y700 I7-6700HQ HD530 GTX 960M 1080P 10.14.6 引导下载
  14. 直播 | 企业级应用Service Management Automation X(SMAX)的微服务之路
  15. 机器视觉系列(三)——电气部分
  16. Android-通讯卫士
  17. 软件程序破解的难度和原理你懂多少?
  18. 调试工具Firebug的使用方法
  19. 物联网——智慧消防云平台
  20. Brightcove发布新视频压缩技术测试版

热门文章

  1. HBase单机环境搭建
  2. postman 并发测试
  3. 如何居中一个元素(终结版)
  4. springboot 应用中静态资源下载
  5. C语言 经典编程100
  6. DBgrid 第一列加入CheckBox,点击列头 全选/全消
  7. Mybatis(五) 延迟加载和缓存机制(一级二级缓存)
  8. 怎么在表单提交前检查数据输入。
  9. vmare安装ghostwin7
  10. 坚持教学与科研相结合