接触天文数据开始,也是接触Python的开始。以此来讲我接触Python已经有近两年了。虽然前面有在慕课、MOOC等之类的网站看一些讲Python知识的课程,也买了些学习Python编程的教材,但是自己时看时不看,甚至连看过课程后都没有码过代码。虽然时间轴看着有两年的接触,但是一直觉得自己的Python编程功底还是很浅薄。
真正开始系统的学习Python却是最近两个月的事情,在这两个月的学习中没有看过那些网上的课程,无论是免费的还是自己购买的。最近两个月努力学习Python的动力,还是导师明确给了我一个毕业课题,突然觉得自己肩上的担子一下子重了很多,不能在吊儿郎当的混日子了。所以一边忙着解决自己数据处理过程中需要解决的问题,一边看手头买的学习资料或者Google一些方法,是我学习Python过程中觉得进步最大最快的一段时间。
现在回想一下自己前面曾看过的一些视频或者一些所谓的经典教材,我认为自己没有坚持下来的原因还是那些方法不适合我,至少不适合我这种第一次接触Python的纯小白。就想写一篇文章总结一下自己学习Python的感悟。
最先接触到的课程(不管是教材书,还是视频),都会让你在Python的命令行界面输入:
print('Hello World!')
如果你在Python上真的输出:
Hello World!
然后说:恭喜你,已经开始学会用Python了。说实话,我还是完全懵逼的状态。就像我跟朋友学习玩斗地主,我出了一张红桃3,然后你跟我讲我已经会玩斗地主了,对于我这种初学者,我没有得到一丝鼓励反倒是有种智商被侮辱的感觉。如果跟我讲:恭喜你已经开始用Python打出一个有效的代码了,这样的话我觉得还是蛮合适的。
当然,我不是来挑刺儿的。因为这篇文章的目的是思考自己学习Python中那些好的或者坏的引导,最后总结那些学习方式更有利于自己Python学习,而不是按着某个人的方法学习,跟着课件我还能照葫芦画瓢把代码码的很规整,也能成功输出结果,但是我却对代码的结构没有一点概念性的理解。更甚者,同样的函数,在另外一个人的代码中我却看不懂了。比如:
print('hello','how are you',sep='-')
hello-how are you
给我的第一印象就是:print函数还可以这样吗?不都是前面那种表达吗?然后就会怀疑自己前面的理解到底是对还是错呢?我对这个函数真的了解吗?还会不会有其他不懂得表达式?
担心越多越觉得自己是否真的能学好Python。正是因为此,我才想那种一开始教我输入print函数,然后给我讲一些字符串、列表等等一些对象,然后再讲函数等这种学习方式真的适合我?如果我是简单的学习Python,不急着用Python来解决问题,我想上面的学习顺序应该可行,可是我是边解决问题边来学习Python,这种循序渐进的方法可能就不适应自己了。所以那种按着循序渐进的方式讲Python,还鼓吹让你短时间掌握理解Python,一定是不可靠的。循序渐进本身就是需要很多时间去理解,不可能半路吃个胖子。
那该如何提高自己学习的效率呢?因为我是边处理数据边学习Python,所以我接触最多的便是。尤其是要对函数的参数有更好的理解,我才能一边Google一边码代码。因此,在跟我讲print函数时,如果可以很好的介绍一下print函数内涵的参数,我想我对Python的理解会更加深刻,而且我觉得这种解释函数参数的含义,并不算时超前讲授,也不会让小白觉得更懵逼。例如:
#print()语法:
print(object(s), separator=separator, end=end, file=file, flush=flush)
#参数描述:
object(s):可以一次性输入一个或者多个对象,然后都会转成字符串被打印出来
sep='separator':当object为多个时,分割不同的object的连结方式,默认为空格
end='end':每次执行一次print操作后,以什么方式结尾,默认为换行符\n
file:object的写入方式,默认为sys.stdout
flush:一个布尔值,指定输出是刷新(True)还是缓冲(False)。默认值为False。
虽然对这些参数的含义不是很懂,但是如果给我讲授每一个函数都是包含特定的参数,每次执行过后都是根据参数的设置来输出的。这样,我想自己在后面Google时,遇到一些不知道的函数也会去思考它们会包含哪些参数,而不是同一个函数有不同参数时,自己看不懂就以为自己对这个函数压根不会使用的失落感。
2019-06-16
网友评论