怎么样才算是精通 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
随机推荐
- C# III: 数据库基本操作
用C#操作数据库——数据库使用SQL Server为例,对应的namespace是System.Data.SqlClient. 读取数据 从数据库中读取数据是最基本的操作了. 示例代码如下: Stri ...
- vue-create 报错 command failed: yarn --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist 完美解决方案
@vue/cli 3.x 创建项目失败解决方案 报错信息 command failed: yarn --registry=https://registry.npm.taobao.org --distu ...
- ffmpeg 编译安装
1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装. sudo apt-get install yasm 1.2.下载FFmpeg git ...
- win10添加启动项目
Win10启动文件夹一般位于C:\ProgramData\Microsoft\Windows\Start Menu(开始菜单)\Programs(程序)\StartUp(启动)目录,我们主要讲希望添加 ...
- 动手造轮子:实现简单的 EventQueue
动手造轮子:实现简单的 EventQueue Intro 最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 Eve ...
- JavaScript中的基本数据类型和引用数据类型
ECMAScript变量包括了两种不同的数据类型 在学习JavaScript的数据类型时,我们通常会把数据类型分成六中(官方认为)Object.String.Boolean.Number.Undefi ...
- PostGIS 存储过程调试
说明: 在使用Postgis做路径分析时需要用到数据库的存储过程,但是存储过程逻辑很复杂,很想看一下每步的执行结果. 百度了一下,发现postgresql有插件可以支持调试存储过程. 解决方案: 1. ...
- Handler+Looper+MessageQueue深入详解
概述:Android中的异步处理机制由四部分组成:Handler+Looper+MessageQueue+message,用于实现线程间的通信. 用到的概念: Handler: 主要作用是发送消息和处 ...
- 20190926-2 选题 Scrum立会报告+燃尽图05
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8678 一.小组情况组长:迟俊文组员:宋晓丽 梁梦瑶 韩昊 刘信鹏队名:扛 ...
- axios 请求二次封装
/** * 封装get方法 * @param url * @param data * @returns {Promise} */ export function get(url, params) { ...