小白失败多次,最终学会Python编程!就比你的过程多了那么一点点

为什么看懂了基础语法但还是学不会编程?

小白失败多次,最终学会Python编程!就比你的过程多了那么一点点

每天都在分享文章,也每天都有人想要我出来给大家分享下怎么去学习python。

大家都知道,我们是学python全栈的,大家就肯定以为我有全套的python系统教程。

即可免费领取一整套系统的python学习教程!

这个问题其实也是我自己学习过程困扰我自己很久的问题。我自己也是零基础入门,一点点摸索,其间踩了很多的坑。通常表现为:我看了很多python零基础入门的书和教程,仿佛我也会一些东西了。但是接下来要做些什么,能做些什么,我其实真的不知道。网上能搜集到的能做的事情,或者自己脑海中想做的事情,通常都非常远大。但究竟要怎么到那个地方去,心里是真的不是很清楚。

这其实是一个非常痛苦的问题,而且其实这个问题不仅仅局限于学习编程语言这一个子领域:即通常所说的战略和战术选择的问题。我们不是战术上不努力(是真的想学好编程),但是真的没有一个战略方针指导(不知道弄哪里开始学,不知道自己学这些东西究竟有没有用)。

我们先来谈谈学习编程这一个具体的问题。现在我站在这个时间点回头看,才体会到别人常说的,“一门编程语言,其实知道数据类型(int list dict)和控制结构(if for)之类的已经算是入门了。”

那为什么我们会了这些之后还是有不会的感觉呢?简单的原因说是因为我们做的太少了。这可能并不是因为懒,而是真的不知道该做什么。这里还是要推荐下小编的Python学习裙:‘’五八八,零九零,九四二‘’不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

小白失败多次,最终学会Python编程!就比你的过程多了那么一点点

我自己也是自学出来的,知道那种不知道自己该干啥能干啥的痛苦。我以为自学和科班出身的最大区别在于,没有了老师上课给你指引方向,你在做一件事情之前并不清楚诸多概念之间彼此的关系,就是说不清楚我学了这件事,接下来能做什么,和前面我学的那么多东西有什么联系。如果不清楚这个联系,那么肯定就会自我怀疑做的这件事是不是到底真的有用。那就会浅尝辄止,止步不前。而老师的课堂中,虽然可能你没有认真听,也没有做作业,但至少在老师课堂上的耳音耳音和同学下课后的的交流过程中,你知道我们学这个东西到底能干啥。那么在课后自己学的过程中自然就会有方向了。

所以自学时候的问题并不在于缺乏一个好的老师,而是需要找一个简单直白有实时反馈的方向。简单直白意思就是说,我做这个东西没有那么多弯弯绕,不需要我理解那么多生僻的概念就可直接上手,有实时反馈的意思就是说自己做一个东西出来最好有实施的反馈。其实最主要的是你自己要对这个方向感兴趣,因为兴趣可以帮你克服最开始阶段的大片生僻概念给自己带来而恐慌。

小白失败多次,最终学会Python编程!就比你的过程多了那么一点点

每天都在分享文章,也每天都有人想要我出来给大家分享下怎么去学习python。

大家都知道,我们是学python全栈的,大家就肯定以为我有全套的python系统教程。

即可免费领取一整套系统的python学习教程!

举一个我自己学习编程时候的例子吧。我最开始其实也陷入了一种误区,买了一本唐浩强的《C语言编程》开始啃,啃了半天发现就是在一个黑窗口里做一些我一眼就能看明白的数学题,觉得这件事情好无聊。就没什么动力继续下去了。后来刷了很久的知乎别人说,python入门比较简单一些,于是就转了python。学习了基础语法之后发现了我可以做爬虫。后来发现爬虫这个东西很有意思:我运行一下程序,我的本地文件就会立马多出来一个新东西(爬取下来的文件或者图片),可以立刻知道我写的东西有没有符合我的预期。进行了一些简单的尝试之后觉得这个东西好有意思:我可以用这个东西爬取好多美女图片(你们永远都想不到一个刚刚20岁的男生对成吨美女图片的向往)以及把同学们QQ空间或者人人网里的黑历史全部都存下来,随取随黑。在这个过程中我接触了python字符串的一些简单的处理,正则表达式,一些简单的网页与服务器端交互的GET和POST请求。当然我最终并没有去爬QQ空间:因为后来理波特给我了一个她的活,要批量下载某一个数据。我说刚好这件事可以用爬虫呀!于是就第一次写了程序为别人做了点事,让自己知道自己还是有点用的。这样一来就觉得有意思了。

比如你可以完全从爬虫入手(我自己就是从爬虫开始入门学python的),从简单的开始做,比如可以写一个最简单的爬虫,爬取一个简单的页面。然后一点点的加功能,不会了就在网上搜。别的不求,就求每天有一点进展,让你有一些感性的认识,知道程序这个东西到底能干啥。慢慢自己折腾的多了就会发现自己就可以做很多事情了。

学习的思路大概是:先有一个最基础的功能,然后一点点加新的特性和功能。刚开始当然可以去看别人的代码,不过一定要弄明白别人的代码每一行是什么意思,返回的结果是什么东西,这就相当于是你在学课本上的例题。每天有一点进展就最好了。一个完备的系统都是从最开始的小系统一点点成长起来的。不要怕慢,多去折腾,多去猜坑。其实我觉得写程序也是一个非常需要经验的岗位,经验要如何得来呢?都是从坑中来的。

可以给你提几个方向的建议,搜索引擎上随便搜搜就会有教程和demo。当你不知道做什么的时候,可以照着已有的东西做一个类似的是一个不错的办法。:

小白失败多次,最终学会Python编程!就比你的过程多了那么一点点

每天都在分享文章,也每天都有人想要我出来给大家分享下怎么去学习python。

大家都知道,我们是学python全栈的,大家就肯定以为我有全套的python系统教程。

即可免费领取一整套系统的python学习教程!

爬虫。不需要登录的(百度贴吧) -> 需要登录的微博;从文字 -> 图片等等

游戏。飞机大战,贪吃蛇,越是经典的游戏其逻辑就越简单。

做网页。先做一个页面 -> 博客 -> 给博客加一些功能(评论)

如果你是统计专业的,以前用R或者matlab做的事情可以换成python做。比如数据分析,算法模型等等。

最重要的一点是,一定要看到自己做的东西是自己想要的,然后就会有那种掌控程序的快感。然后尽量把自己日常生活中的一些事务可以考虑用代码完成,毕竟能用的东西才是最有价值的东西。这样,你就基本上具有掌控自己的代码能力,自然也就知道自己能干啥了。有了一点代码量之后可能就会发现,其实大部分的代码都是在调别人写好的包,所以代码真的没有那么难,只要能记好API就好啦!

我觉得对于不以代码为生,单纯想知道代码能干啥有什么意思的人来说,能把自己生活中遇到的许多问题用代码解决,已经很不错了。

对于那些想更进一步的同学,可能就会考虑效率的问题,比如同样实现一个功能,为什么一个方法比另一个方法可以快这么多?为了写出更高效率的程序(否则跑时间长点的任务耽误的是自己的时间),你需要去看一点数据结构和算法方面的知识了。

当然,自己脑子里想出的项目,始终还是小打小闹。如果想再一步学习,大家就可以开始投一些简历去实习。公司的业务场景比你自己想着去实现一个东西会复杂的多。关于怎么找实习这件事我已经说了很多了,就不细说了。没看过的同学可以看看这个系列。

最后给大家分享一个我老大说他是怎么学习代码的。老大是一个真正的大牛,大家可以学习一下。

他说等你代码掌握到了一定的程度,再学习一门新的语言的时候,其实就花上一个小时左右的时间熟悉一下这个语言的数据类型和控制结构等等基本语法。然后去把自己想的到的一些东西从头实现一遍:比如链表,二叉树,Kmeans(笑),写一两道算法题。刚开始可以写面向过程的,后面可以再用面向对象写一遍。写一遍完后再做做速度的优化。自然这门新的语言就会了。

(嗯,好像很容易的样子。)

我觉得本质是一样的:就是一定要去动手写一些代码。看是学不会一门新东西的,只有做了才行。

每天都在分享文章,也每天都有人想要我出来给大家分享下怎么去学习python。

大家都知道,我们是学python全栈的,大家就肯定以为我有全套的python系统教程。

即可免费领取一整套系统的python学习教程!

小白失败多次,最终学会Python编程!就比你的过程多了那么一点点


分享到:


相關文章: