怎么样才算是精通 Python?
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:weixin_45587093
你们所说的什么要怎样数据分析、爬虫、Web 等,在我看来那不是精通 Python,而是精通某一领域,抛开 Python 换用另一门语言也可,在我看来,精通 Python 语言大约需要如下这些步骤
level 1:了解基本语法
这是最容易的一级,掌握了 Python 的基本语法,可以通过 Python 代码实现常用的需求,不管代码质量怎么样。这部分内容,可以参考:The Python Tutorial。
level 2:熟练使用常用的库
熟悉常用 standard library 的使用,包括但不限于 copy / json / itertools / collections / hashlib / os / sys 等,这部分内容,可以参考:The Python Standard Library。
熟悉常用的第三方库,这就根据每个人不同的用法而有所不同了,但是一定要掌握你所常用的那个领域里的第三方库。
level 3:Pythonic,如果你还没到这个等级,可以去小编的Python学习.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目
这一级别比上一级别稍难,但是还是可以轻松达到。所谓 Pythonic,就是相比其它语言,Python 可以通过更加优雅的实现方式(不管是语法糖还是什么),比如(包括但不限于) with、for-else、try-else、yield 等。
另外你还需要掌握这些所谓魔法的实现原理,了解 Python 在语法层面的一些协议,可以自己实现语法糖。如 with 的实现方式(上下文管理器)等。
达到这一级,你的代码可以看起来很漂亮了。这部分内容,可以参考:
The Python Language Reference
Python HOWTOs
level 4:高级玩法
掌握 Python 的内存机制、GIL 限制等,知道如何改变 Python 的行为,可以轻松写出高效的优质的 Python 代码,能够轻松分辨不同 Python 代码的效率并知道如何优化。
level 5:看透本质
阅读 Python 的 C 实现,掌握 Python 中各种对象的本质,掌握是如何通过 C 实现面向对象的行为,对于常见的数据结构,掌握其实现细节。到这一步,需要将 Python 源码学习至少一遍,并对关键部分有较深层次的理解。如果你Python还没到这个等级。可以去小编的Python学习.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目
level 6:手到拈来,一切皆空
不可说,不必说~
首先,以上步骤不是打怪升级,不存在到了一级再去第下一级,你完全可以在熟练标准库的过程中掌握语言的实现原理等,这并不矛盾。所以那些评论说「我已经 xx 级了, xx 时候要到 xx 级」的朋友们,希望不要误解了我的意思,你不必将自己限制死,而可以很灵活的变通。
最后,希望各位不要被某些答案「不需要精通 xx 语言」这样的言论干扰,编程语言有很多相似的地方,个人觉得掌握一门语言的底层实现,对自身的编程水平提升是很有帮助的。但是要搞清楚,仅仅编程语言是不够的,如何使用一门编程语言做有趣的事情,这很重要。
怎么样才算是精通 Python?的更多相关文章
- 怎么样才算是精通 C++?
C++是一门非常奇妙的语言.让人又爱又恨. 在知乎上看到的一个帖子.怎么样才算是精通C++,这里节选一些精彩的回复. 链接:http://www.zhihu.com/question/20201972 ...
- 七步精通Python机器学习--转载
作者简介: Matthew Mayo 翻译:王鹏宇 开始.这是最容易令人丧失斗志的两个字.迈出第一步通常最艰难.当可以选择的方向太多时,就更让人两腿发软了. 从哪里开始? 本文旨在通过七个步骤, ...
- python与java的内存机制不一样;java的方法会进入方法区直到对象消失 方法才会消失;python的方法是对象每次调用都会创建新的对象 内存地址都不i一样
python与java的内存机制不一样;java的方法会进入方法区直到对象消失 方法才会消失;python的方法是对象每次调用都会创建新的对象 内存地址都不i一样
- python要点简要-一日精通python
Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...
- 《精通python网络爬虫》笔记
<精通python网络爬虫>韦玮 著 目录结构 第一章 什么是网络爬虫 第二章 爬虫技能概览 第三章 爬虫实现原理与实现技术 第四章 Urllib库与URLError异常处理 第五章 正则 ...
- 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码
下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...
- 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码
自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...
- 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码
随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...
- 《精通Python爬虫框架Scrapy》学习资料
<精通Python爬虫框架Scrapy>学习资料 百度网盘:https://pan.baidu.com/s/1ACOYulLLpp9J7Q7src2rVA
随机推荐
- PHP程序员-常用工具
三连问 经常有社区的同学问: “我的PHP程序有没有阻塞,我的PHP程序有没有开启协程(对自己写好的代码表示不自信),我的PHP程序有没有问题”.然后贴出了自己的程序,然后进入了愉快的灌水环节,随着时 ...
- 4. 彤哥说netty系列之Java NIO实现群聊(自己跟自己聊上瘾了)
你好,我是彤哥,本篇是netty系列的第四篇. 欢迎来我的公从号彤哥读源码系统地学习源码&架构的知识. 简介 上一章我们一起学习了Java中的BIO/NIO/AIO的故事,本章将带着大家一起使 ...
- PowerMock学习(四)之Mock static的使用
我们编写代码的时候,总会写一些工具类,为了方便调用喜欢使用static关键字来修饰对应方法. 那么现在举例说明,还是准备两个接口,第一个是查询学生总数,第二个是新增学生两个接口,具体示例代码如下: p ...
- mysql定时任务(event事件)
1.event事件 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器” 事件和触发器类似,都 ...
- 《Git的常用操作》
Git的常用操作: git checkout -b 本地分支 #创建本地的分支—本地分支,并切换到该分支下. git branch --set-upstream-to=origin/远程分支 本地分支 ...
- IDEA最常用快捷键汇总+快速写出Main函数
IDEA可以说是当下Java程序员日常开发的神器,但是想要发挥这款神器的牛逼威力,必须得熟练使用它的各种快捷键才行.本篇总结下使用IDEA(也就是IntelliJ IDEA )进行日常开发中最常用的快 ...
- 20191031-5 beta week 1/2 Scrum立会报告+燃尽图 03
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9913 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 ...
- 执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=..
执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=... 原因: yaml5.1版本后弃用了yaml.loa ...
- CNCF官方大使张磊:什么是云原生?
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Go ...
- 运维与开发的开车现场之MySQL5.7创建触发器报错解决过程
报错内容如下: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds ...