零基础最重要的是什么?找对基本方向!
下面将会从学习的基本过程,讲讲有助于新手学习的资料和方式有哪些。
帮助小白找到合适自己的学习方式。
学习的过程,无非就是下面这几个流程,这就是学编程的基本方向:
一、获取知识信息(找到学什么)
二、思考理解(学懂是什么)
三、做题练习巩固(强化防止忘记学了什么)
四、实战做项目(学通能做什么)
一、获取知识信息(找到学什么)
Python知识信息,可以从很多地方学到。总结一下,基本信息摄取方向无非就是这几个,看书,看网上资料,看视频,上网课,上培训班。
如果你真的真的真的,完全完全完全,是零基础,并且没有对编程有强烈的学习欲望。
而且没有本科理工类知识的学习基础,也没有了解过任何计算机的内容。
其他Python的好书虽然是好书,但是你零基础可能会看到想睡觉....
所以我只推荐下面这两本,比较丰富有趣适合纯小白书:
这两本书都是 Head First 系列的,这套系列的书对于新手小白来说是有口皆碑了。
整套书,其实如果是学习能力还不错的高中生,也可以拿来看,难度不大,深入浅出。
下面是京东自营的链接
《 Head First 编程之旅(Python语言描述)》
京东图书类好像双十一有什么满减活动之类的,可以去关注一下,会有些优惠。
网上公开的Python学习教程也非常多,这里推荐几个非常主流且也饱受程序员好评的学习资源站。
Runoob 菜鸟教程
https://www.runoob.com/python/python-tutorial.html
W3School 教程
https://www.w3school.com.cn/python/index.asp
廖雪峰 Python 教程
https://www.liaoxuefeng.com/wiki/1016959663602400
这几个教程,你可以理解成是基本做菜指南,比较简单直白的介绍了大多数 Python 使用到的功能。
至于选哪个,我个人认为都可以,都是相似的新手教程。
二、思考理解(学懂是什么)
如果说前面这些知识资源是做菜指南,学懂就是指,理解做菜和核心思路。
书上可能教你,放油然后再放鱼来煎,多久多久之后翻面。
学懂的话,你就知道煎所有东西都是类似的步骤。
学懂,不单只是知道书上/教程里告诉了你什么,更要知道的是,这些东西有什么关联。
并且要去主动思考,这个东西是不是还可以弄点别的什么什么花样?
如果 xxxx 这样,会不会发生 xxx 那样的效果?
如果想要 zzzz 的效果,我需要做什么?
在这个学习思考的过程中,是会产生很多小问题的,这时候如果有人来沟通答疑解惑,是最好的。
当然,你也可以自学,并且在网上互相发帖求助,沟通咨询。
下面推荐几个视频网站的课堂学习方式:
慕课网 Python 教程 (强烈安利)
https://www.imooc.com/learn/1261
中国大学MOOC 教程
https://www.icourse163.org/search.htm?search=python#/在这里面找需要的基础Python课程即可。
在完成基础内容学习之后,也可以自行到B站和油管找一些编程大佬博主来跟着进阶学习。
学习的过程,如果想要找人一起讨论问题,可以到下面这个知乎圈子里发帖求助,里面也很多大佬经常分享一些内容。
知乎圈子:编程入门交流圈 https://www.zhihu.com/club/1227924955025215488
三、做题练习巩固(强化防止忘记学了什么)
光说不练假把式
学编程是绝对绝对需要动手实践的。
看书或者看教程,学会了某个语法或者某种用法,如果没有自己亲手试试,过不了两天就会忘掉。
编程练习除了书本,网课等基础练习题,还可以自己去刷刷其他习题。
鉴于是零基础开始慢慢学的,就先不推荐 LeeCode 这种比较猛的平台了,容易刷的丧失自信。
这里推荐一个非常有趣的刷题平台。
Codewars
进到官网之后,先点 sign up 根据步骤注册一个账号
之后,进入 Kata 这个页面
这是一个题库页面,里面是海量的编程题。
可以根据自己的需求和情况,来不断练习。
接下来,我们要找一些基础的 Python 练习题。
在左边这个位置,点选自己需要的设置。
Sort by 排序规则,选择 Most Completed 最多人完成,
My language 选择 Python 语言。
Difficulty 难度这里,点击选择 8 kyu,选最简单的版本。
完成上面的操作之后,我们就会看到一些基础的简单 Python 题了。
拿一道题举例而言,看看需要怎么做。
要注意,这个题库里有一些题可能是有问题无法验证的,我们尽量避开不要选有这种 Issues Reported 正在有人反馈情况的题目。
我们选这题 Return Negative,在网页上的 Return Negative 这一题的右边,有大量的不同编程语言的logo。
我们点击双蛇的这个 Python 的 logo,进入答题。
进入之后,会看到左边是题目的描述。
右边有两个框框区域。
右上区是需要你完成的 实现代码 部分。
右下区是虚拟完成的 测试用例 部分。
先读题,然后写测试用例,然后再写实现代码。
先读题,然后写测试用例,然后再写实现代码。
先读题,然后写测试用例,然后再写实现代码。
题目标题是 Return Negative 返回负数, 描述说这段提供的example,展示了这个函数在哪些输入值的情况下,会输出哪些值。
而且特别提示了,如果已经是负数,那就不用做任何变化。
很多时候里面都是简单英文,如果不熟悉可以借助 Bing翻译 或者 有道翻译理解,顺便学习英语。
(学英语对于编程还是很重要的,很多问题需要到外网查资料)
接着,我们来看右下角提供的 测试用例 部分,这里简单给了一个测试示例。
告诉我们,用这个函数,可以验证 make_negative 函数在输入42的时候得到的结果值,应该会和预期的 -42 值相同。
再来看看右上角部分,要求是我们实现这个函数。
现在开始做题
先读题,然后写测试用例,然后再写实现代码。
想一想这个函数在基本正常情况,极端情况,边界情况会输出哪些数值。
比如负数,比如0。
这个测试用例对于编程学习而言是非常重要的,
它能够帮助你从测试的角度,
在一开始就避免因为想当然或者忘记一些特殊情况,导致写出非常低级错误的bug。
约是有难度的题目,这个测试的重要性就会越体现出来。
写测试,能够极大效率帮助你避免低级错误,从而提高写代码的质量和速度。
我们先增加一些测试函数。
然后回头看实现,这个要求我们返回负数,所以实现思路比较简单。
对于负数和0,都会直接返回原来数字本身。
对于大于0的正数,会返回相反数,那么相反数可以是 0减去这个数,或者是 -1 * 这个数。
也就是第一步,先判断输入进来的参数是不是大于零,然后对应做处理即可。
接下来,点击右下角的 Test 摁扭
用自己写的测试用例,来测试一下自己的实现代码。
如果有某个 Test 不通过,不是全绿的情况,就说明有两种可能
你的测试用例写错了,程序输出那个是对的,你测试验证的值是错的
你的测试是正确的,实现代码出bug了
继续修改,直到自己的 TEST 验证通过,那么就可以点击右下角的 ATTEMPT 摁扭,尝试系统测试了。
提交答案之后,系统会运行一个批量测试的程序,来给你检验。
如果你最后得到的结果是 Passed: xx Failed: 0
说明没有失败结果,全部通过,这样你就通过了基础验证了。
接下来,点击右下角的 SUBMIT 正式提交答案。
提交完之后,你可以反馈做题的心情,还可以看到其他人的答案。
强烈建议在完成之后,看看其他人的解法。
有的时候,你很可能使用了一个非常绕而且不优雅的方式,完成了题目。
而一些大神,会用很巧妙很有意思,有些甚至很优雅的方式,
用非常漂亮的代码解决了问题。
参考并且学习他们的做法,也是一种非常重要的学习。
完成之后,你可以继续点击右上角的 NEXT KATA 来预览下一题,并且点击 TRAIN 来进入题目
如果你觉得题目太难,啃了三天三夜都做不出来,那么也可以解锁答案,参考其他人的解答。
在框框下面有一个 UNLOCK SOLUTIONS,点击这个即可
当然如果直接看答案,这题就不会得分了,系统会记录你的情况。
这种开发流程叫做 TDD(Test-Driven Development),测试驱动开发。
What is Test Driven Development (TDD)? Tutorial with Example
这个 Codewar 平台非常有意思,有兴趣的小伙伴可以继续在里面慢慢玩。
四、实战做项目(学通能做什么)
Python 其实是个比较灵活的胶水语言
可以拿来做批处理的脚本,可以拿来做网络爬虫,可以来写web网页前后端,可以单独写定时后台服务,可以拿来做数据分析批量计算。
能做的事情非常多,多到可能零基础小白学完之后不知道应该做什么好。
其实做什么,完全取决于你当初想学 Python 编程的目的是什么。
如果你是想做后端开发的,那就去把数据库也给学了,写一个学生管理系统,实现基本的增删查改。
如果你是想用程序excel数据处理的,那就直接上手写脚本,帮助自己解决日常重复机械的工作。
如果你是想拉取京东购物数据做分析的,那就去把http有关的东西了解下,上手去做一个爬虫+分析。
实战,完全取决于自己的需求。
如果你是完全蒙圈学完也没有什么目的,那就最好一开始别学,因为学了不用,很快就会荒废的。
个人建议,实战做项目可以尝试自己搭建一个自己的博客系统,做好之后,再试着把它放到云服务器上,注册域名,接上公网,变成一个大家能看得到的真正的博客。
当然,慕课网也有很多的实践课程,如果是时间比较紧张,需要快速的提升
直接选一个合适的慕课网项目会更加省心省力。
共同学习,写下你的评论
评论加载中...
作者其他优质文章