编程零基础应当如何开始学习 Python?

Petrick 2020/11/1 13:03:39

零基础最重要的是什么?找对基本方向!下面将会从学习的基本过程,讲讲有助于新手学习的资料和方式有哪些。帮助小白找到合适自己的学习方式。学习的过程,无非就是下面这几个流程,这就是学编程的基本方向:一、获取知识信息(找到学什么)二、思考理解(学懂是什么)三、…

零基础最重要的是什么?找对基本方向!

下面将会从学习的基本过程,讲讲有助于新手学习的资料和方式有哪些。

帮助小白找到合适自己的学习方式。

学习的过程,无非就是下面这几个流程,这就是学编程的基本方向

  • 一、获取知识信息(找到学什么)

  • 二、思考理解(学懂是什么)

  • 三、做题练习巩固(强化防止忘记学了什么)

  • 四、实战做项目(学通能做什么)


一、获取知识信息(找到学什么)

Python知识信息,可以从很多地方学到。总结一下,基本信息摄取方向无非就是这几个,看书,看网上资料,看视频,上网课,上培训班。

如果你真的真的真的,完全完全完全,是零基础,并且没有对编程有强烈的学习欲望。

而且没有本科理工类知识的学习基础,也没有了解过任何计算机的内容。

其他Python的好书虽然是好书,但是你零基础可能会看到想睡觉....

所以我只推荐下面这两本,比较丰富有趣适合纯小白书:


http://img1.sycdn.imooc.com/5f9e274200016bab07200547.jpghttp://img4.sycdn.imooc.com/5f9e27430001761307160923.jpg


这两本书都是 Head First 系列的,这套系列的书对于新手小白来说是有口皆碑了。

整套书,其实如果是学习能力还不错的高中生,也可以拿来看,难度不大,深入浅出。

下面是京东自营的链接

《 Head First 编程之旅(Python语言描述)》

《 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#/ 
http://img1.sycdn.imooc.com/5f9e274400013a3907200829.jpg


在这里面找需要的基础Python课程即可。

在完成基础内容学习之后,也可以自行到B站和油管找一些编程大佬博主来跟着进阶学习。

学习的过程,如果想要找人一起讨论问题,可以到下面这个知乎圈子里发帖求助,里面也很多大佬经常分享一些内容。

知乎圈子:编程入门交流圈 https://www.zhihu.com/club/1227924955025215488 


三、做题练习巩固(强化防止忘记学了什么)

光说不练假把式

学编程是绝对绝对需要动手实践的。

看书或者看教程,学会了某个语法或者某种用法,如果没有自己亲手试试,过不了两天就会忘掉。

编程练习除了书本,网课等基础练习题,还可以自己去刷刷其他习题。

鉴于是零基础开始慢慢学的,就先不推荐 LeeCode 这种比较猛的平台了,容易刷的丧失自信。

这里推荐一个非常有趣的刷题平台。

Codewars

http://img1.sycdn.imooc.com/5f9e27450001da8b02000200.jpg

https://www.codewars.com 

进到官网之后,先点 sign up 根据步骤注册一个账号

之后,进入 Kata 这个页面


http://img2.sycdn.imooc.com/5f9e27540001d35a07200302.jpg


这是一个题库页面,里面是海量的编程题。

可以根据自己的需求和情况,来不断练习。

接下来,我们要找一些基础的 Python 练习题。

在左边这个位置,点选自己需要的设置。

Sort by 排序规则,选择 Most Completed 最多人完成,

My language 选择 Python 语言。

Difficulty 难度这里,点击选择 8 kyu,选最简单的版本。


http://img1.sycdn.imooc.com/5f9e275500013f5404560261.jpghttp://img2.sycdn.imooc.com/5f9e2755000148e504520627.jpg


完成上面的操作之后,我们就会看到一些基础的简单 Python 题了。


http://img1.sycdn.imooc.com/5f9e27550001eb4007200322.jpg


拿一道题举例而言,看看需要怎么做。

要注意,这个题库里有一些题可能是有问题无法验证的,我们尽量避开不要选有这种 Issues Reported 正在有人反馈情况的题目。


http://img1.sycdn.imooc.com/5f9e27550001305602880140.jpg


我们选这题 Return Negative,在网页上的 Return Negative 这一题的右边,有大量的不同编程语言的logo。

我们点击双蛇的这个 Python 的 logo,进入答题。


http://img2.sycdn.imooc.com/5f9e275500010a0e12090247.jpg


进入之后,会看到左边是题目的描述。

右边有两个框框区域。

右上区是需要你完成的 实现代码 部分。

右下区是虚拟完成的 测试用例 部分。


http://img1.sycdn.imooc.com/5f9e275500015e1507200355.jpg


先读题,然后写测试用例,然后再写实现代码。

先读题,然后写测试用例,然后再写实现代码。

先读题,然后写测试用例,然后再写实现代码。



http://img3.sycdn.imooc.com/5f9e27560001b50607200635.jpg


题目标题是 Return Negative 返回负数, 描述说这段提供的example,展示了这个函数在哪些输入值的情况下,会输出哪些值。

而且特别提示了,如果已经是负数,那就不用做任何变化。

很多时候里面都是简单英文,如果不熟悉可以借助 Bing翻译 或者 有道翻译理解,顺便学习英语。

(学英语对于编程还是很重要的,很多问题需要到外网查资料)


http://img1.sycdn.imooc.com/5f9e27560001040d05330370.jpg


接着,我们来看右下角提供的 测试用例 部分,这里简单给了一个测试示例。

告诉我们,用这个函数,可以验证 make_negative 函数在输入42的时候得到的结果值,应该会和预期的 -42 值相同。

再来看看右上角部分,要求是我们实现这个函数。


http://img2.sycdn.imooc.com/5f9e27560001e91403490142.jpg


现在开始做题

先读题,然后写测试用例,然后再写实现代码。

想一想这个函数在基本正常情况,极端情况,边界情况会输出哪些数值。

比如负数,比如0。

这个测试用例对于编程学习而言是非常重要的,

它能够帮助你从测试的角度,

在一开始就避免因为想当然或者忘记一些特殊情况,导致写出非常低级错误的bug。

约是有难度的题目,这个测试的重要性就会越体现出来。

写测试,能够极大效率帮助你避免低级错误,从而提高写代码的质量和速度。

我们先增加一些测试函数。


http://img1.sycdn.imooc.com/5f9e27650001277d05270211.jpg


然后回头看实现,这个要求我们返回负数,所以实现思路比较简单。

对于负数和0,都会直接返回原来数字本身。

对于大于0的正数,会返回相反数,那么相反数可以是 0减去这个数,或者是 -1 * 这个数。

也就是第一步,先判断输入进来的参数是不是大于零,然后对应做处理即可。


http://img1.sycdn.imooc.com/5f9e27660001ae8d03170153.jpg


接下来,点击右下角的 Test 摁扭

用自己写的测试用例,来测试一下自己的实现代码。


http://img2.sycdn.imooc.com/5f9e27660001888904940605.jpg


如果有某个 Test 不通过,不是全绿的情况,就说明有两种可能

  • 你的测试用例写错了,程序输出那个是对的,你测试验证的值是错的

  • 你的测试是正确的,实现代码出bug了

继续修改,直到自己的 TEST 验证通过,那么就可以点击右下角的 ATTEMPT 摁扭,尝试系统测试了。


http://img3.sycdn.imooc.com/5f9e27660001758d04460245.jpg


提交答案之后,系统会运行一个批量测试的程序,来给你检验。

如果你最后得到的结果是 Passed: xx    Failed: 0

说明没有失败结果,全部通过,这样你就通过了基础验证了。

接下来,点击右下角的 SUBMIT 正式提交答案。


http://img4.sycdn.imooc.com/5f9e27660001554f04770125.jpg


提交完之后,你可以反馈做题的心情,还可以看到其他人的答案。


http://img1.sycdn.imooc.com/5f9e27670001497707200377.jpg


强烈建议在完成之后,看看其他人的解法。

有的时候,你很可能使用了一个非常绕而且不优雅的方式,完成了题目。

而一些大神,会用很巧妙很有意思,有些甚至很优雅的方式,

用非常漂亮的代码解决了问题。

参考并且学习他们的做法,也是一种非常重要的学习。

完成之后,你可以继续点击右上角的 NEXT KATA 来预览下一题,并且点击 TRAIN 来进入题目


http://img1.sycdn.imooc.com/5f9e2767000171f703080147.jpg


如果你觉得题目太难,啃了三天三夜都做不出来,那么也可以解锁答案,参考其他人的解答。

在框框下面有一个 UNLOCK SOLUTIONS,点击这个即可


http://img4.sycdn.imooc.com/5f9e276700015fca05360202.jpghttp://img3.sycdn.imooc.com/5f9e27670001352a06140209.jpg


当然如果直接看答案,这题就不会得分了,系统会记录你的情况。

这种开发流程叫做 TDD(Test-Driven Development),测试驱动开发。

What is Test Driven Development (TDD)? Tutorial with Example

http://img1.sycdn.imooc.com/5f9e27680001e47b04540258.jpg

这个 Codewar 平台非常有意思,有兴趣的小伙伴可以继续在里面慢慢玩。


四、实战做项目(学通能做什么)

Python 其实是个比较灵活的胶水语言

可以拿来做批处理的脚本,可以拿来做网络爬虫,可以来写web网页前后端,可以单独写定时后台服务,可以拿来做数据分析批量计算。

能做的事情非常多,多到可能零基础小白学完之后不知道应该做什么好。

其实做什么,完全取决于你当初想学 Python 编程的目的是什么。

如果你是想做后端开发的,那就去把数据库也给学了,写一个学生管理系统,实现基本的增删查改。

如果你是想用程序excel数据处理的,那就直接上手写脚本,帮助自己解决日常重复机械的工作。

如果你是想拉取京东购物数据做分析的,那就去把http有关的东西了解下,上手去做一个爬虫+分析。

实战,完全取决于自己的需求。

如果你是完全蒙圈学完也没有什么目的,那就最好一开始别学,因为学了不用,很快就会荒废的。

个人建议,实战做项目可以尝试自己搭建一个自己的博客系统,做好之后,再试着把它放到云服务器上,注册域名,接上公网,变成一个大家能看得到的真正的博客。

当然,慕课网也有很多的实践课程,如果是时间比较紧张,需要快速的提升

直接选一个合适的慕课网项目会更加省心省力。



随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[编程零基础应当如何开始学习 Python?]http://www.zyiz.net/tech/detail-148583.html

上一篇:python oop

下一篇:安利一个Python大数据分析神器!

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程