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

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

地球的外星人君

赞同来自:

不会是正常的。如果编程是读个教程就能学会的话,培训班哪还有活路?
我才你学习的时候肯定忘了一件事:输出个99乘法表并不是会编程,你得试着去做项目。
项目从哪儿来呢?
其实无论是知乎还是博客这种社区或者GitHub等专业网站,都已经有非常多的、面向新手的成熟案例可以让你练习自己的技能。
如果你实在懒的找,我这里汇总了一些,你可以来看看:
[h1]动手实操 | 如何用 Python 实现人脸识别,证明这个杨幂是那个杨幂?[/h1]网红和明星越来越像,脸盲症发作了?
别怕,写个程序帮你认人就行了




[h1]提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服[/h1]没时间解释了,快上车!




[h1]Python抓取花瓣网高清美图 - 狙击手+ - 博客园[/h1]恩,这个标题就够清楚了吧~
做完之后的效果是这样的



[h1]从零开始教你用 Python 做词云[/h1]词云是个很简单但是同样很好玩的项目,最重要的特性是实用。
在别人用表格做分析的时候,你把下面的图片拿了出来,震慑全场~


[h1]Python Crawler - 网信贷黑名单数据爬取[/h1]借钱出去的时候,要不要先看一下借款人的信用?
去看一下信用黑名单吧,要是借款人名字高挂,这钱还是不借了吧
案例里是将结果输出到txt的,大家也可以尝试讲这些转成pdf或者输出到其他更方便查询的地方~



[h1]一件有趣的事:我用 Python 爬了爬自己的微信朋友[/h1]不想了解一下自己朋友们的情况吗?微信加上了一千人,男生多还是女生多?北方多还是南方多?
用这个案例来查看一下吧



[h1]Python小工具: 发个周报邮件给老板[/h1]每周都要发周报,烦死了。
照着这个教程做一篇,以后统统全自动发送,爽不爽?
(假装有图)
[h1]微信公号 DIY:一小时搭建微信聊天机器人[/h1]可能是公众号运营者的福音吧...



[h1]微信公号DIY:MongoDB 简易ORM & 公号记账数据库设计[/h1]恩,公众号运营福音系列,其实这个系列还有一篇啦,你们点进去就看到了。
我就不贴了啦啦啦~




[h1]使用python抓取自住房信息[/h1]买房吗大哥?



[h1]Python-WXPY实现微信监控报警 - jaycekong - 博客园[/h1]监控报警发邮件经常不看?直接发到你微信上啊
(再假装有图)
[h1]使用pillow生成分享图片|梦想.家[/h1]一篇很好的实操教程,而且十分细致。




[h1]淘宝商品信息定向爬虫[/h1]绝对的剁手党福利啊~~~




[h1]Python实现车牌定位及分割[/h1]

1、将采集到的彩色车牌图像转换成灰度图
2、灰度化的图像利用高斯平滑处理后,再对其进行中直滤波
3、使用Sobel算子对图像进行边缘检测
4、对二值化的图像进行腐蚀,膨胀,开运算,闭运算的形态学组合变换
5、对形态学变换后的图像进行轮廓查找,根据车牌的长宽比提取车牌

光看着简介就知道值不值得看了。



[h1]用Python把图片变成字符画[/h1]试一下,把刘看山变成字符画?

你想更深入了解学习Python知识体系,你可以看一下我们花费了一个多月整理了上百小时的几百个知识点体系内容:
【超全整理】《Python自动化全能开发从入门到精通》笔记全放送

刘大头

赞同来自:

不邀自答.

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

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

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

最后祝好运!

实验楼在线教育

赞同来自:

其实题主问题中的这句话——“学习编程的唯一方法就是编程“已经回答了这个问题
学完基础语法后,怎么才能继续提高编程能力?
继续“编”就是了。
这里推荐先看一下姚冬大大的回答,他说编程不是知识,而是手艺,需要花大量的精力去动手实践!每看一次都会有很多启发——编程新手如何提高编程能力?

千万别把编程看作知识,计算机科学是知识,但是编程是手艺。既然是手艺就要用学手艺的思路去学习。以动手练习为主,看书学习为辅,甚至极端点,初学的时候除了看必要的文档都可以不看书,等有了一定编程基础后再去看书,看完书立刻动手编程去验证书上的理论知识。
……坚持做大量的练习,以代码行数为例,每年50000行左右是比较一般的练习量,有毅力的话可以挑战10万行。回忆下自己当年是怎么学会骑自行车,学会游泳,学会打篮球的,按照那个思路去学编程,而不是用你学大学课程的思路去学编程。记住,编程是手艺,不是知识。

在明确了「实践练习」的学习方法之后,学习者就需要想清楚自己学习Python的目的是什么,以后想往哪个方向发展。
比如说,看了别人炫酷的爬虫,几分钟就可以把几十万条数据爬取下来,同时自动生成清晰、美观的图表,自己也想做一个;同时,自己以后也想往数据挖掘、数据分析方向发展,那你可以拿这些项目练手:
「Python3 实现火车票查询工具」
“用 Python3 抓取 12306 的车票余量等信息,实现一个火车票查询工具。可以帮大家熟悉 Python3 基础及网络编程,以及 docopt,requests,prettytable 等库的使用。”
完成后只需敲一行命令,就能得到如下的信息:

「高德API+Python解决租房问题」
“使用Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围。在项目实现的过程中学习requests、BeautifulSoup、csv等库的简单使用。”
效果是这样的:

再进阶一点的,还有这些项目:

「给Python3爬虫做一个界面.妹子图网实战」 「Python3 实现淘女郎照片爬虫」 「基于 Flask 及爬虫实现微信娱乐机器人」

如果你想用Python开发一些程序或游戏,可以用这些项目练手:
「200行Python代码实现2048」
“用200行的 python 代码完成2048小游戏的编写。将学习 Python 基本知识,状态机的概念,以及编写 python 游戏的步骤。”

「Python 图片转字符画」
“用 50 行 Python 代码完成图片转字符画小工具。将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使用等。”

再进阶一点的,还有这些项目:

「Python开发简单计算器」 「利用微信API将你的微信变为聊天机器人」 「Python3 & OpenCV 视频转字符动画」 「Python 实现康威生命游戏」 「基于 Flask 与 MySQL 实现番剧推荐系统」

除了上面的项目,实验楼还有很多Python在信息安全、大数据、人工智能方面的课程,你都可以在Python学习路径中找到。
[h1]最后一个阶段:转化成自己的项目[/h1]经过这些项目练手之后,相信编程能力和编程手感都会有很大程度的提高。但跟着教学文档一步步实现出来的项目,和自己经过系统思考和填坑一步步实现的,毕竟还是存在着不同的,所以一定要将学到的知识,转化为自己的项目经验。
有些课程后面,老师布置了课后作业,大家最好能要独立思考,完整地把作业实现出来。有些课程虽然没有作业,大家还是可以发挥创造力,做一个拓展的项目出来。
比如实现了火车票查询工具之后,可能当时会感觉非常好,自信爆棚,但过几天让你不看书,靠自己重新实现一遍,很可能一点头绪都没有了,你能说这算是掌握了这个项目吗?
所以学完之后,你就要想,我能不能仿照这个程序做一个机票查询工具呢?这个查询工具能不能集成到微信里,输入两个地名就能得到之间的车票信息呢?这个查询工具能不能加入购买功能,做一个抢票工具呢?
只有完成了这些拓展,才算真正地学会了这个项目和技术。最后,把这个你自己实现的项目写进GitHub里,也一定会成为一份优质工作的敲门砖。
[h1]最后:[/h1]感谢每一位耐心看到这里的读者。希望每个人都能找到正确的学编程的方法,成为一名真正有编程能力、工作能力的程序员。
Python学习路径
匿名用户

匿名用户

赞同来自:

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

ipreacher

赞同来自:

这个挺正常的,就像我把自己称为“写代码的”,而不是“程序员”,这大概就是 coder 和 programmer 的区别。说到底,也就是依靠着 Python 入门友好,才开始入门计算机的。参考计算机本科的教材,更多的除了编程语言之外的其他部分知识,都缺失了。
回到语言本身,大部分 Python 教程恐怕也是浅尝辄止的类型,稍微讲讲语法,很多东西别说深入,讲明白就不错了,以至于我一度连 class 的作用都理解不清。而这时候直接上一本深度教材,又发现自己看不懂,或者完全用不到那么深入的知识,于是长时间陷入了两难的尴尬境地。我想这个只能靠时间来解决了,多写,多用,早晚会慢慢学会的。
除了上述的缺失,还有一块是,算法上的空缺。就像上面有大神提到的,import 进来的每一个库,都是一份做好的熟菜,而不是自己的手艺。这当然是 Python 的一大优势,但很多时候,初学者连这份熟菜怎么切都要好好学习一番,然后,关于底层的算法实现,就更遥遥无期了。
上面是说为什么不会编程,再正面回到题主的问题,如何从“写代码的”进化到“程序员”,或者说至少能熟练使用某些语言,省时省力地做一些东西出来?这里就针对 Python 来说吧,如果自身有某个需求,那就最好了,有方向之后啥都好说;一时间没有方向的话,那就从简单的教程开始抄起来,再试试自己能不能改动某些部分。至于选择哪个方向,这得看自己的兴趣和实际需求。
爬虫我写过一点,照着教程来,没有反爬的网站上手不难;Django 那玩意,看过文档,写了一点之后发现自己没什么兴趣,遂放弃;科学计算那块,从 pandas、NumPy 开始,搭上 matplotlib,基本解决日常问题,然后是躲不了的 SQL 和 MongoDB,随后逐步接触 sklearn 和 statsmodels,当然这里肯定是要接触一些算法的,不能只做个调包侠。
Python 当然是可以做很多东西的,但编程的思路不能局限在一种语言上,有余力了再看看其他语言,哪怕不是 C、C++ 这种重型工具,看看 js、Swift、Julia 这些,我觉得也有帮助。等到某个时刻,发现自己遇到问题后第一个想法是“能不能写段脚本来解决?”之后,我想,这个时候就能说自己入门了编程了。

蒋甬杭

赞同来自:

或许题主是不知道应该做什么。

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

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

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

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

与其是抄百度贴吧爬虫代码,不如先想想自己觉得爬虫需要什么功能,然后主动去找资料。先从简单的开始,比如输入一个帖子的URL,下载一个帖子的所有回复(和楼中楼)到文本文件。然后需求自然会慢慢冒出来的。比如如何绕过百度的“非百度用户无法查看图片”,如何方便地统计帖子里最活跃的用户等等。后来可能演变成统计哪几个用户彼此关注,然后搞出一个百度贴吧用户关联图。要分析哪几个用户是某ID的小号,或者是广告号,然后没准就会去学习numpy玩大数据统计了。

孙明秋

赞同来自:

做了一桌子菜,但都是买现成的熟食,你所做的工作只是切切装到盘子里。每一个import模块都相当于一块熟牛肉,但真不能当成我们自己做的。
匿名用户

匿名用户

赞同来自:

能学会编程语言的人很多,用它来做数学题的很多,但是有用它来创造产品的人很少,因为大多数人对没有做过的事都不知如何下手。所以我认为正确的做法是:
1、明确自己要做个什么东西,具有哪些功能。
2、想清楚实现这些功能需要用到哪些技术。
3、将整个软件功能细分,再进行步骤细分模块。
4、编码实现每个功能的每个模块提供接口并进行调试。
5、整合接入功能模块并整体调试完成开发。




大二狗,自己做东西时无意总结出来的方法,慎用。
匿名用户

匿名用户

赞同来自:

慕课网。。这帮人就没打算教你学会编程啊 你当然学不会啦。。

wywzxxz

赞同来自:

我字典看完了还是不会写小说:(

ZHENG

赞同来自:

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

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

希望有所帮助
匿名用户

匿名用户

赞同来自:

看到有人回答说找个框架的源码来看。 个人觉得这会对入门新手是一个大大的打击。 那些成熟的框架经过了多少次的代码优化和删减复用,到我们手上已经没有多少冗余的地方。对于写过不少代码,想要有提升的话,看框架的确可以。

比如看request的get函数是怎么实现的


跳转到get


发现又是调用其他的函数

然后跳转到这个


这个时候你心里肯定万匹草泥马奔腾而过,每个函数里面就1,2句实用的语句,而且就只是return一两句代码。 大部分的篇幅都是注释,还是英文的,试问刚入门的你,给你这么多嵌套调用的类,看着不会懵逼吗??

对于这些大神写的框架,我们也只能膜拜。

对于刚入门,不能一开始就这么打击信心的。

于敬晖

赞同来自:

找个框架做出个东西来,然后深入研究它。
一个python框架本身是会用到很多的python特性,这样可以了解框架运行机制同时也知道了这些特性的应用场景。

刘毅同学

赞同来自:

I hear and I forget. I see and I remember. I do and I understand.

任何一门技艺不是看就能掌握的。尤其是计算机,动手能力更是很重要。

杨晨昊

赞同来自:

我累个擦,好巧,我今天也是刚研究了下那个百度贴吧的入门爬虫代码,估计我们看的是一个。。。同python自学入门中,我之前网易云课堂的python课程看了一大半,然后由于是零基础,同时也在看这本书,与孩子一起学编程感觉零基础看看这本书蛮好的。
大家一起加油咯,感觉新手自学不容易勒:)

法兰克斯雪诺

赞同来自:

看人家demo
最后实在还不会就宣布那个demo是你写的。。。
匿名用户

匿名用户

赞同来自:

我用了半年的时间自学的python,目前可以编写简单的爬虫了.
给点我在学习中的经验吧.

1.看高手的代码,仔细跟踪每一个变量的变化,弄清每一个函数和类的作用.
2.一定要把程序的思路想清楚,这一步比写代码重要多了.
3.需要的功能不会写多百度谷歌,多问高手.

李文博

赞同来自:

如果实在写不出,抄代码是有必要的,慢慢就有感觉了。。。

丁卫锋

赞同来自:

因为缺少一份行动地图,对项目的结构,需要用到的技术,以及如何组织,完全不懂。有这样的结果很正常的。

写爬虫吧。
丁卫锋:Python基本语法学完了,接下来不知道要干什么?
引导学习-有朋友总是学的快

要回复问题请先登录注册