如何成为Python高手
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何成为Python高手相关的知识,希望对你有一定的参考价值。
如果你有一定的计算机编程知识基础,那么很容易学;再如果你对编程十分感兴趣,那么很容易学的。
1,找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过)
2,做些简单习题,字符串比较,读取日期之类 Python Cookbook不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会的以后可以再学)
3,加入Python讨论群,态度友好笑眯眯(很重要,这样高手才会耐心纠正你错误常识)。很多小问题,纠结许久,对方一句话点播思路,真的节约你很多时间。耐心指教我的好人,超级超级多谢。
4,解决自己电脑问题。比如下载美剧,零散下载了2,4,5,8集,而美剧共12集,怎样找出漏下的那几集?然后问题分解,1读取全部下载文件名,2提取集的数字,3数字排序和(1--12)对比,找出漏下的。
对于python初学者来说,能找到一个好老师学习格外重要,这能决定你是不是可以做出好的项目,在python开发的路上越走越轻松,如果现在的你缺乏学习经验,找不到老师指导你学习,可以加企 鹅扣-Q前面112再加上中间的983以及最后四位数4903,连在一起就可以了。
5,时刻记住目的,不是为了当程序员,是为了解决问题。比如,想偷懒抓网页内容,用urllib不行,用request也不行,才发现抓取内容涉及那么多方面(cookie,header,SSL,url,javascript等等),当然可以听人家劝,回去好好读书,从头读。 或者,不求效率,只求解决,用ie打开网页再另存为行不行?ie已经渲染过全部结果了。 问题变成:1--打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数outHTML另存为文本,再用搜索函数(str搜索也行,re正则也行)找到数据。简单吧?而且代码超级短。
6,保持兴趣,用最简单的方式解决问题,什么底层驱动,各种交换,留给大牛去写吧。我们利用已经有的包完成。
7,耐心读文档,并且练习快速读文档。拿到新包,找到自己所需要的函数,是需要快速读一次的。这个不难,读函数名,大概能猜到是干嘛的,然后看看返回值,能判断是不是自己需要的。
8,写帮助文件和学习笔记,并发布共享。教别人的时候,其实你已经自己再次思考一次了。 我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件。 一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深。 网络很平面,无数国际大牛著作好书,关于Python,算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去,不是难事。 所有天才程序员,都曾是儿童,回到儿童思维来理解和学习。觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好。 唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它。虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去。坚持学好一门语言,再研究其他。 即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情。 另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询。 python里,看到Http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,wiki,google很有用。
参考技术A 一、Python之禅(The Zen of Python)The Zen of Python是Python语言的指导原则,遵循这些基本原则,你就可以像个Pythonista一样编程。具体内容你可以在Python命令行输入import this看到:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
# 优美胜于丑陋(Python以编写优美的代码为目标)
Explicit is better than implicit.
# 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
Simple is better than complex.
# 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
Complex is better than complicated.
# 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
Flat is better than nested.
# 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
Sparse is better than dense.
# 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
Readability counts.
# 可读性很重要(优美的代码是可读的)
Special cases aren't special enough to break the rules.
Although practicality beats purity.
# 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
Errors should never pass silently.
Unless explicitly silenced.
# 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)
In the face of ambiguity, refuse the temptation to guess.
# 当存在多种可能,不要尝试去猜测
There should be one-- and preferably only one --obvious way to do it.
# 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
Although that way may not be obvious at first unless you're Dutch.
# 虽然这并不容易,因为你不是 Python 之父(这里的Dutch是指Guido)
Now is better than never.
Although never is often better than *right* now.
# 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
# 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
Namespaces are one honking great idea -- let's do more of those!
# 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
这首特别的“诗”开始作为一个笑话,但它确实包含了很多关于Python背后的哲学真理。Python之禅已经正式成文PEP 20,具体内容见:PEP 20
二、PEP8: Python编码规范(PEP8: Style Guide for Python Code)
Abelson & Sussman在《计算机程序的构造和解释》一书中说道:程序是写来给人读的,只是顺带让机器执行。所以,我们在编码时应该尽量让它更易读懂。PEP8是Python的编码规范,官方文档见:PEP 8,PEP是Python Enhancement Proposal的缩写。PEP8包括很多编码的规范,下面主要介绍一下缩进和命名等内容。
空格和缩进(WhiteSpace and Indentation)
空格和缩进在Python语言中非常重要,它替代了其他语言中的作用,用来区分代码块和作用域。在这方面PEP8有以下的建议:
1、每次缩进使用4个空格
2、不要使用Tab,更不要Tab和空格混用
3、两个方法之间使用一个空行,两个Class之间使用两个空行
4、添加一个空格在字典、列表、序列、参数列表中的“,“后,以及在字典中的”:“之后,而不是之前
5、在赋值和比较两边放置一个空格(参数列表中除外)
6、紧随括号后面或者参数列表前一个字符不要存在空格
Python命名
命名规范是编程语言的基础,而且大部分的规范对于高级语言来说都是一样的,Python的基本规范如下:
1、方法 & 属性:joined_lower
2、常量:joined_lower or ALL_CAPS
3、类:StudlyCaps
4、类属性:interface, _internal, __private
5、camelCase only to conform to pre-existing conventions
以上内容只是对PEP8做了非常简单的介绍,由于今天的主题不在于此,所以就不在这里多讲。想要更加深入的了解Python编码规范,可以阅读PEP8官方文档和Google Python编码规范等内容。
三、交换变量值(Swap Values)
在其他语言中,交换两个变量值的时候,可以这样写:
temp = a
a = b
b = temp
在Python中,我们可以简单的这样写:
b, a = a, b
可能你已经在其他地方见过这种写法,但是你知道Python是如何实现这种语法的吗?首先,逗号(,)是Python中tuple数据结构的语法;上面的语法会执行一下的操作:
1、Python会先将右边的a, b生成一个tuple(元组),存放在内存中;
2、之后会执行赋值操作,这时候会将tuple拆开;
3、然后将tuple的第一个元素赋值给左边的第一个变量,第二个元素赋值给左边第二个变量。
再举个tuple拆分的例子:
In [1]: people = ['David', 'Pythonista', '15145551234']
In [2]: name, title, phone = people
In [3]: name
Out[3]: 'David'
In [4]: title
Out[4]: 'Pythonista'
In [5]: phone
Out[5]: '15145551234'
这种语法在For循环中非常实用:
In [6]: people = [['David', 'Pythonista', '15145551234'], ['Wu', 'Student', '15101365547']]
In [7]: for name, title, phone in people:
...: print name, phone
...:
David 15145551234
Wu 15101365547
PS:在使用这种语法时,需要确保左边的变量个数和右边tuple的个数一致,否则,Python会抛出ValueError异常。
更多tuple的例子:
>>> 1,
(1,)
>>> (1,)
(1,)
>>> (1)
1
>>> value = 1,
>>> value
(1,)
我们知道:逗号(,)在Python中是创建tuple的构造器,所以我们可以按照上面的方式很方便的创建一个tuple;需要注意的是:如果声明只有一个元素的tuple,末尾必须要带上逗号,两个以上的元素则不需要。声明tuple的语法很简单,但同时它也比较坑:如果你发现Python中的变量不可思议的变成了tuple,那很可能是因为你多写了一个逗号。。
四、Python控制台的"_"(Interactive "_")
这是Python中比较有用的一个功能,不过有很多人不知道(我也是接触Python很久之后才知道的)。。在Python的交互式控制台中,当你计算一个表达式或者调用一个方法的时候,运算的结果都会放在一个临时的变量 _ 里面。_(下划线)用来存储上一次的打印结果,比如:
>>> import math
>>> math.pi / 3
1.0471975511965976
>>> angle = _
>>> math.cos(angle)
0.50000000000000011
>>> _
0.50000000000000011
PS:当返回结果为None的时候,控制台不会打印,_ 里面存储的值也就不会改变。
五、合并字符串(Building Strings from Sub strings)
假如现在有一个list,里面是一些字符串,你现在需要将它们合并成一个字符串,最简单的方法,你可以按照下面的方式去处理:
colors = ['red', 'blue', 'green', 'yellow']
result = ''
for s in colors:
result += s
但是,很快你会发现:这种方法非常低效,尤其当list非常大的时候。Python中的字符串对象是不可改变的,因此对任何字符串的操作如拼接,修改等都将产生一个新的字符串对象,而不是基于原字符串。所以,上面的方法会消耗很大的内存:它需要计算,存储,同时扔掉中间的计算结果。正确的方法是使用Python中的join方法:
result = ','.join(colors)
当合并元素比较少的时候,使用join方法看不出太大的效果;但是当元素多的时候,你会发现join的效率还是非常明显的。不过,在使用的时候请注意:join只能用于元素是字符串的list,它不会进行任何的强制类型转换。连接一个存在一个或多个非字符串元素的list时将抛出异常。本回答被提问者和网友采纳 参考技术B
如果你没有基础
那么你要付出的努力可能比较多,计算机原理、数据结构和算法、操作系统、网络基础理论、数据库原理、编译原理等等,都要有一定的了解。然后看第二步。
2.如果你有前面的基础
学习Python基础语法、理解流程控制、函数式编程、面向对象、异常处理等,大量常用的标准库和第三方库,多线程、多进程、网络编程等等。
3.如果你有前面的基础
大数据、云计算、机器学习、Web开发、自动化运维选择喜欢的方向,学习使用主流框架
4.如果你有前面的基础
回过头,开始读Python的源码,框架的源码,研究数据结构和算法等等基础理论....
5.如果你有前面的基础
你已经是Python高手了
6.整个过程始终贯彻:读代码、写代码、写日记、写博客、总结、迭代
7.安利一个Python学习网站:刘江的博客和教程,相当不错的!
参考技术C 一、Python之禅(The Zen of Python)The Zen of Python是Python语言的指导原则,遵循这些基本原则,你就可以像个Pythonista一样编程。具体内容你可以在Python命令行输入import this看到:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
# 优美胜于丑陋(Python以编写优美的代码为目标)
Explicit is better than implicit.
# 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
Simple is better than complex.
# 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
Complex is better than complicated.
# 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
Flat is better than nested.
# 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
Sparse is better than dense.
# 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
Readability counts.
# 可读性很重要(优美的代码是可读的)
Special cases aren't special enough to break the rules.
Although practicality beats purity.
# 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
Errors should never pass silently.
Unless explicitly silenced.
# 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)
In the face of ambiguity, refuse the temptation to guess.
# 当存在多种可能,不要尝试去猜测
There should be one-- and preferably only one --obvious way to do it.
# 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
Although that way may not be obvious at first unless you're Dutch.
# 虽然这并不容易,因为你不是 Python 之父(这里的Dutch是指Guido)
Now is better than never.
Although never is often better than *right* now.
# 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
# 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
Namespaces are one honking great idea -- let's do more of those!
# 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
这首特别的“诗”开始作为一个笑话,但它确实包含了很多关于Python背后的哲学真理。Python之禅已经正式成文PEP 20,具体内容见:PEP 20
二、PEP8: Python编码规范(PEP8: Style Guide for Python Code)
Abelson & Sussman在《计算机程序的构造和解释》一书中说道:程序是写来给人读的,只是顺带让机器执行。所以,我们在编码时应该尽量让它更易读懂。PEP8是Python的编码规范,官方文档见:PEP 8,PEP是Python Enhancement Proposal的缩写。PEP8包括很多编码的规范,下面主要介绍一下缩进和命名等内容。
空格和缩进(WhiteSpace and Indentation)
空格和缩进在Python语言中非常重要,它替代了其他语言中的作用,用来区分代码块和作用域。在这方面PEP8有以下的建议:
1、每次缩进使用4个空格
2、不要使用Tab,更不要Tab和空格混用
3、两个方法之间使用一个空行,两个Class之间使用两个空行
4、添加一个空格在字典、列表、序列、参数列表中的“,“后,以及在字典中的”:“之后,而不是之前
5、在赋值和比较两边放置一个空格(参数列表中除外)
6、紧随括号后面或者参数列表前一个字符不要存在空格
Python命名
命名规范是编程语言的基础,而且大部分的规范对于高级语言来说都是一样的,Python的基本规范如下:
1、方法 & 属性:joined_lower
2、常量:joined_lower or ALL_CAPS
3、类:StudlyCaps
4、类属性:interface, _internal, __private
5、camelCase only to conform to pre-existing conventions
以上内容只是对PEP8做了非常简单的介绍,由于今天的主题不在于此,所以就不在这里多讲。想要更加深入的了解Python编码规范,可以阅读PEP8官方文档和Google Python编码规范等内容。
三、交换变量值(Swap Values)
在其他语言中,交换两个变量值的时候,可以这样写:
temp = a
a = b
b = temp
在Python中,我们可以简单的这样写:
b, a = a, b
可能你已经在其他地方见过这种写法,但是你知道Python是如何实现这种语法的吗?首先,逗号(,)是Python中tuple数据结构的语法;上面的语法会执行一下的操作:
1、Python会先将右边的a, b生成一个tuple(元组),存放在内存中;
2、之后会执行赋值操作,这时候会将tuple拆开;
3、然后将tuple的第一个元素赋值给左边的第一个变量,第二个元素赋值给左边第二个变量。
再举个tuple拆分的例子:
In [1]: people = ['David', 'Pythonista', '15145551234']
In [2]: name, title, phone = people
In [3]: name
Out[3]: 'David'
In [4]: title
Out[4]: 'Pythonista'
In [5]: phone
Out[5]: '15145551234'
这种语法在For循环中非常实用:
In [6]: people = [['David', 'Pythonista', '15145551234'], ['Wu', 'Student', '15101365547']]
In [7]: for name, title, phone in people:
...: print name, phone
...:
David 15145551234
Wu 15101365547
PS:在使用这种语法时,需要确保左边的变量个数和右边tuple的个数一致,否则,Python会抛出ValueError异常。
更多tuple的例子:
>>> 1,
(1,)
>>> (1,)
(1,)
>>> (1)
1
>>> value = 1,
>>> value
(1,)
我们知道:逗号(,)在Python中是创建tuple的构造器,所以我们可以按照上面的方式很方便的创建一个tuple;需要注意的是:如果声明只有一个元素的tuple,末尾必须要带上逗号,两个以上的元素则不需要。声明tuple的语法很简单,但同时它也比较坑:如果你发现Python中的变量不可思议的变成了tuple,那很可能是因为你多写了一个逗号。。
四、Python控制台的"_"(Interactive "_")
这是Python中比较有用的一个功能,不过有很多人不知道(我也是接触Python很久之后才知道的)。。在Python的交互式控制台中,当你计算一个表达式或者调用一个方法的时候,运算的结果都会放在一个临时的变量 _ 里面。_(下划线)用来存储上一次的打印结果,比如:
>>> import math
>>> math.pi / 3
1.0471975511965976
>>> angle = _
>>> math.cos(angle)
0.50000000000000011
>>> _
0.50000000000000011
PS:当返回结果为None的时候,控制台不会打印,_ 里面存储的值也就不会改变。
五、合并字符串(Building Strings from Sub strings)
假如现在有一个list,里面是一些字符串,你现在需要将它们合并成一个字符串,最简单的方法,你可以按照下面的方式去处理:
colors = ['red', 'blue', 'green', 'yellow']
result = ''
for s in colors:
result += s
但是,很快你会发现:这种方法非常低效,尤其当list非常大的时候。Python中的字符串对象是不可改变的,因此对任何字符串的操作如拼接,修改等都将产生一个新的字符串对象,而不是基于原字符串。所以,上面的方法会消耗很大的内存:它需要计算,存储,同时扔掉中间的计算结果。正确的方法是使用Python中的join方法:
result = ','.join(colors)
当合并元素比较少的时候,使用join方法看不出太大的效果;但是当元素多的时候,你会发现join的效率还是非常明显的。不过,在使用的时候请注意:join只能用于元素是字符串的list,它不会进行任何的强制类型转换。连接一个存在一个或多个非字符串元素的list时将抛出异常。 参考技术D python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重
复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用
python来教授程序设计课程(比如本人的母校)。
我就是完全通过网上资源自学python的。
从在校时候用python接活赚零花钱,到在创业公司用python开发商业网站和游戏后台。所有遇到的问题,几乎都可以从互联网上的公开资源找到答案。
关于自学python,个人最大的3点经验:
找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
去找一个实际项目练手。
我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做
个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。
然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。
对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:
从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了
缺少计算机基础知识,被一些教程略过的“常识性”问题卡住
遇到问题不知道怎么寻找解决方案
看懂语法之后不知道拿来做什么,学完一阵子就又忘了
缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段
所以除了前面说的3点经验,给初学编程者的额外建议:
首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
除了学习编程语言,也兼顾补一点计算机基础,和英语。
不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
学会查官方文档,用好搜索引擎和开发者社区。
怎么逐步突破,成为Python高手?
工作中,我总听到很多程序员抱怨,说现在的计算机编程语言太多了,学不过来了。
一些人 Java 用了很多年,但是最近的项目突然需要用 Python,就会不知所措,压力很大。
众所周知,Facebook 的主流语言是 Hack。不过,我敢拍着胸脯说,就刚入职的工程师而言,100 个里至少有 90 个,以前都从未用过 Hack。但是,这些人上手都特别快,基本上一两周后,日常编程便毫无压力了。
他们是怎么做到的呢?到底要怎么学?学习的过程中又要特别注意哪些地方呢?
不同语言,需融会贯通
其实,如果你在学一门语言的时候多阅读、多练习、多思考,你就会发现,不同语言都是类似的。编程语言就是人类控制计算机的指令,语法规则等方面都是大同小异。
而在原有基础上,学习一门新的编程语言,其实也没有那么难,你首先要做到的是明确区分。比如,在学习 Python 的条件与循环语句时,多回忆一下其他语言的语法是怎样的。再如,遇到 Python 中的字符串相加时,你能分析出它的复杂度吗?再联想到其他语言,比如 Java 中字符串相加的复杂度,它们之间有什么相同点、又有什么区别呢?
除了能够明确区分语言的不同点,我们还要能联系起来灵活运用。比如,最典型的“编程语言两问”:
-
你了解你学过的每种编程语言的特点吗?
-
你能根据不同的产品需求,选用合适的编程语言吗?
举个例子,Python 的优点之一是特别擅长数据分析,所以广泛应用于人工智能、机器学习等领域,如机器学习中 TensorFlow 的框架,就是用 Python 写的。
事实上,很多公司都是这样,服务器端开发基于 Python,但底层的基础架构依赖于 C++。这就是典型的“不同需求选用不同语言”。毕竟,你要明白,哪怕只是几十到几百毫秒的速度差距,对于公司、对于用户体验来说都是决定性的。
唯一语言,可循序渐进
当然,如果 Python 是你学的第一门编程语言,那也不必担心。我们知道,虽然同为人机交互的桥梁,Python 语言比起 C++、Java 等主流语言,语法更简洁,也更接近英语,对编程世界的新人还是很友好的,这也是其显著优点。这种情况下,你要做的就是专注于 Python 这一门语言,明确学习的重点,把握好节奏循序渐进地学习。
我把编程语言的学习重点,总结成了下面这三步,无论你是否有其他语言的基础,都可以对照来做,稳步进阶。
第一步:大厦之基,勤加练习
任何一门编程语言,其覆盖范围都是相当广泛的,从基本的变量赋值、条件循环,到并发编程、Web 开发等等,我想市面上几乎没有任何一本书能够罗列完全。
所以,我建议你,在掌握必要的基础时,就得多上手操作了。千万不要等到把教材上所有东西都学完了才开始。计算机科学是一门十分讲究实战的学科,因此越早上手练习,练得越多越勤,就越好。
不过,到底什么叫做必要的基础呢?以 Python 为例,如果你能够理解变量间的赋值、基本的数据类型、条件与循环语句、函数的用法,那么你就达到了第一步的底线标准,应该开始在课下多多练习了。
比方说,你可以自己动手编程做一个简易的计算器,这应该也是大多数程序员实操的第一个小项目。用户输入数字和运算符后,你的程序能够检查输入是否合法并且返回正确的结果吗?
在做这个小项目的过程中,你可能会遇到不少问题。我的建议是,遇到不懂的问题时,多去查询,这样你还能阅读别人优秀的代码,借鉴别人的思路,对于你的学习肯定大有帮助。
第二步:代码规范,必不可少
学习编程讲究快和高效。但是,与此同时,请一定不要忽略每一种语言必要的编程规范。在你自己刚开始写代码练习时,你可以不写单元测试,但总不能几百行的代码却没有一个函数,而是从头顺序写到尾吧?你可以省略一些可有可无的注释,但总不能把很多行代码全部并到一行吧?
一名优秀的程序员,一定遵守编程语言的代码规范。
第三步:开发经验,质的突破
想要真正熟练地掌握 Python 或者是任何一门其他的编程语言,拥有大中型产品的开发经验是必不可少的。因为实战经验才能让你站得更高,望得更远。
最后,为了避免漫无目的的学习方式,我已经整理好了粉丝福利。
我专门为你们绘制了一张 Python 学习的知识图谱,里面涵盖了 Python 最高频的核心知识。你可以保存或者打印出来,作为学习参考。
今天,我跟你们分享了 Python 的学习方法和注意事项,其实这些观点不只适用于 Python,也能帮助你学习任何一门其他计算机编程语言,希望你能牢记在心。
这里小编已经为大家整理好了Python新手入门学习路线,同时附基本视频学习资源合集,相信这套福利可以帮你顺利入行Python并找到工作!
获取方式:
1、转发+评论
2、私信回复“6”
以上是关于如何成为Python高手的主要内容,如果未能解决你的问题,请参考以下文章