python教程看完了,还是不会编程?

WBOY
Release: 2016-06-06 16:24:22
Original
1417 people have browsed it

慕课网的教程看完了,上面的习题也都能写出来,但是让我自己做个什么东西,还是毫无头绪,听说学习编程的唯一方法就是编程,那我现在编不出来,抄人家博客上的代码能不能学会点?
ps:现在正在抄一个百度贴吧爬虫的代码。

回复内容:

做了一桌子菜,但都是买现成的熟食,你所做的工作只是切切装到盘子里。每一个import模块都相当于一块熟牛肉,但真不能当成我们自己做的。 先声明,我也是刚接触不久,以下仅是根据个人经验提出的看法

学编程,第一法则是要懒

怎么个“懒”法?比如我,每天都要上学校网站登录帐号才能上网,不登陆也要上去看看还有多少流量。但是我不想每天都要为这个重复下面一系列动作:

打开手机/电脑——>浏览器——>学校官网——>网关——>输入帐号登录

这些动作对于我来说毫无意义且繁琐,所以我想试着写一个程序替我做了,刚好最近学了Python和爬虫,于是就开始做起来

哎呀,竟然有一个urllib和urllib2库
哎呀,这样就可以POST数据了
哎呀,可以伪装成浏览器唉

你看,写着写着就会了 我是自学的php,1个月的时候想写个留言板,写不出,于是百度了个简单的留言板源码,一边看一边写。
2个月的时候把那个留言板改成了博客,隔几天加个功能,隔几天加个功能,然后就找到工作了,现在在开发crm。
刚开始都这样,就像茶壶煮饺子,有嘴倒不出,主要就是没有头绪,只要理清楚第一步干嘛,第二步干嘛,就能想做啥就做啥了。 不邀自答.

零基本或者更多没有太多编写完整项目经验的同学, 在初步了解了Python基本语法之后,
可以通过以下方法深入学习:
  • 写爬虫, 学习Scrapy框架(难度两颗星)
  • 建网站或者建立博客, 学习Django框架, 熟悉后转flask框架(难度三颗星)
  • 学习numpy等包, 用python做科学计算或者数据挖掘等(难度四颗星, 需要一定科研精神)
  • 查看Github上Python项目, 看项目源码, 给项目写issue->做测试->写文档->改Bug->加功能(难度五颗星)

我认为学习一门语言, 首先应该通过网络渠道或者实体书渠道, 做一个完整的小项目(不需要太大).

然后推荐两个自己以前学习专栏(掩面, 逃..):
  1. 钟爱Python - 文集学习爬虫系列专题
  2. Django之歌 - 文集学习Django专题, 最后可以建立一个完整的博客.

最后祝好运! 学一种程序语言,最好的情况就是带着需求去学习。题主的情况应该是学习的过程中仅仅是看懂,而没有加入对如何应用的思考,所以学得不会很扎实,用的时候定位不到对应的知识。
我学习编程的经验是定一个大目标,比如完成一个自己的爬虫,或者完成一个购物网站的推荐算法等等,结合需求去学习,这样你目标完成之日就是大功告成之时。

另外推荐英文原版的学习资料。

希望有所帮助 或许题主是不知道应该做什么。

特别是编程语言一般都对底层功能做了不同程度的封装来简化开发,而使用封装就意味着要使用库,使用库就意味着要先知道有什么库。Python是比C/C++更为抽象的语言,没有库寸步难行。
但也不是说要把所有常用库一个一个学起来。

一般的做法是挑一个自己想要的功能,然后设法去实现。这个功能可大可小。然后逐渐往上加功能,自己要什么功能就去学相关的知识。

我最早开发的网络爬虫是一个漫画下载器(IFComicDownloader),用C++和Windows的SDK写的。后来为了简化网络(主要是那些检测reference防外链的网站)通信使用了Libcurl,为了便捷添加和修改支持的网站使用了LUA,为了自动更新抓取网页的脚本而找了个免费的服务器,为了持久保存数据使用了sqlite数据库。昨晚我还修改了一个脚本来绕过某漫画网站的工口物屏蔽(……)。所以说没有需求就没有学习的方向。

题主说正在抄百度贴吧爬虫代码。按我的观点,照抄代码的缺点在于只能知其然很难知其所以然(为什么这里要用list,为什么那边要用lambda之类的)。这可能导致以后有了需求也想不到怎么处理。而自己有需求的话,带着问题去找代码抄,就可以避免这个问题。

与其是抄百度贴吧爬虫代码,不如先想想自己觉得爬虫需要什么功能,然后主动去找资料。先从简单的开始,比如输入一个帖子的URL,下载一个帖子的所有回复(和楼中楼)到文本文件。然后需求自然会慢慢冒出来的。比如如何绕过百度的“非百度用户无法查看图片”,如何方便地统计帖子里最活跃的用户等等。后来可能演变成统计哪几个用户彼此关注,然后搞出一个百度贴吧用户关联图。要分析哪几个用户是某ID的小号,或者是广告号,然后没准就会去学习numpy玩大数据统计了。 能学会编程语言的人很多,用它来做数学题的很多,但是有用它来创造产品的人很少,因为大多数人对没有做过的事都不知如何下手。所以我认为正确的做法是:
1、明确自己要做个什么东西,具有哪些功能。
2、想清楚实现这些功能需要用到哪些技术。
3、将整个软件功能细分,再进行步骤细分模块。
4、编码实现每个功能的每个模块提供接口并进行调试。
5、整合接入功能模块并整体调试完成开发。




大二狗,自己做东西时无意总结出来的方法,慎用。 慕课网。。这帮人就没打算教你学会编程啊 你当然学不会啦。。 An Introduction to Interactive Programming in Python

公开课很棒,每讲一点会让你做个小游戏,很简单,但是用来入门熟悉和培养编程习惯刚刚好,很有意思,强烈推荐楼主看看,

同在学,可以交流 先找点习题做做

再找点项目做做。

你的原因是:没有编程思路。

请看黄哥本人写的文章
如何捅破python编程的那层纸
github.com/pythonpeixun

剪刀石头布小习题三种语言python2、php、go代码
github.com/pythonpeixun
一段小代码说明@property装饰器的用法
一段小代码说明@property装饰器的用法
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!