Python初学者,这样解决问题可以更快提高

学习python,少不了提问。无论是购买了教程,在交流群里提问,还是在论坛上向大佬请教,抑或是在工作中请教同事,好的提问,会让问答这个过程事半功倍地进行。

  

今天,我们就专门聊聊“如何提问”,掌握正确的提问方式,就能最快解决问题,也就能更快提高。

640?wx_fmt=jpeg

一、正确准备你的问题

 

好的问题,首先自己要看懂意思,描述要通顺;其次要完整而清楚,包含足够多的信息,说明白问题的起因。我们看一个不方便解答的提问实例:

 

       640?wx_fmt=jpeg      

首先需要指出的是,所有不附上具体内容、看不到代码,看不到报错结果的提问,都是耍流氓。正如医生诊断病情需要先让病人验血验尿得出一系列检查报告,才能推测病情,老师也需要看到代码、报错,甚至提问者的操作过程、意图,才能推测出错误。

回到截图上的常见问题:按照教程上却出错。遇到这种问题,首先应该检查符号、拼写、缩进等初学者常犯的错误。如果发现没有错误,却还是报错,接下来应该排除的是工具包版本和课程不一样导致的报错,尝试更新工具包。当然还有一种可能:

 

重启重装解决80%的问题smiley_0.pngsmiley_0.png

  

那么什么样的报错截图和提问方法才是正确的呢?

       640?wx_fmt=png 完整的报错截图,要包括你的代码、报错的位置和报错的具体文字,尤其是最后一行“SyntaxError”。有时候报错非常长,提问者会忘记截图最后一行报错,这是一定要避免的。

 

此外,我们还建议大家提问时,叙述清楚自己的操作目的,再附上代码和报错的截图:

       

640?wx_fmt=png

       

因为我们写代码的目的是顺利实现某个功能而不仅仅是跑通,能顺利完成要求的代码才是我们需要的。叙述清楚代码目的,能让老师对你写的代码进行更有效的指导。

二、善用搜索引擎节约一大半的提问时间

 

“提问——等回答”的过程毕竟有一定的时间成本,有些问题只要善用搜索引擎,就可以即时得到解决。但搜索引擎毕竟不是人工,直接给报错截图是得不到回答的,如何让它“听懂”你的问题呢?

1、直接搜索报错关键字

以一个新手很可能遇到的invalid syntax问题为例。

       640?wx_fmt=png    

这是初学者很容易出现的“缺胳膊少腿型”语法错误,很多朋友看到英文就会自动屏蔽不去阅读。其实只要大家简单搜一下最后一句:invalid syntax,就能知道这样的报错主要原因是什么(有时候不同编程语言的报错提示是一样的,加上语言名字会更有针对性): 

       640?wx_fmt=png      

打开其中一个看上去有点东西的答案链接,有用的答案会举出犯这样错误的例子。看到别人报错的例子,大家也更可能会联想到一些自己可能不小心的地方,再度检查代码,找出bug。与此同时,大家也会学到“invalid syntax”是指语法有误,可能在报错标记的前后,缺少或多出了某些字符。

       640?wx_fmt=png      

 这一类的错误一定要学会自己排查,并且在不断debug过程中养成遵守语法的好习惯。

2、没有报错文字,用简洁的语言和关键字描述问题

    

同样,还是先举例子:

     640?wx_fmt=jpeg 

这个问题也是同学们经常遇到的:Jupyter不运行代码,左侧显示“*”号。虽然没有跳出来报错文字,但我们还是可以搜索“Jupyter 星号”寻找答案,这里以在CSDN搜索为例:

       640?wx_fmt=png      

果然能找到许多文章在讲述我们遇到的问题,随便点进一篇,就能知道,这个情况说明可能是上面的执行框出现错误,如果久等不出结果可以尝试重启kernel从上向下检查每个框并找到错误代码修改。

 

640?wx_fmt=jpeg

当然如果一直没有找到你想看的答案,那么可以尝试联想新的关键词进行搜索,比如搜索“jupyter 不运行”“jupyter 运行 没反应”等等。这种方法同样适用于百度搜索。

3、善用翻译软件协助阅读报错

一句英文都不想读,何况一段英文?!

       640?wx_fmt=png 

这里同样也是一个常见问题,当同学们想要使用pip安装或者升级一些包的时候,如果pip版本不对就很可能不成功,窗口上会跳出这几行字。其实只要耐着性子读一遍报错,就会知道,这里的报错其实已经给我们提示了解决办法:您正在使用pip版本8.1.2,但版本19.1.1可用。您应该考虑通过'python -m pip install --upgrade pip'命令进行升级。

 

但是,就是不喜欢读英文怎么办?此时就应该掏出Google翻译(不用翻墙),把不想读的英文粘贴进去: 

       640?wx_fmt=png

大段英文还会出现在搜报错的过程中,因为很多解释报错的网页都是英文的,这时候就可以掏出另一个神器,Chrome浏览器的翻译成中文功能:

       640?wx_fmt=png      

这样就很好阅读了:

     640?wx_fmt=png

总结一下,初学者如何利用搜索引擎:可以直接搜索关键词,可以使用简洁的问题描述进行搜索,还可以使用翻译软件辅助阅读报错。学会利用互联网来帮助自己学习能大大提高效率。 

三、技术网站的正确打开方式

 学习Python的同学除了百度,还可以在这些技术网站上搜索自己遇到的问题:

 

CSDN:https://www.csdn.net/

640?wx_fmt=png

国内专业的技术IT社区,集聚了大量的软件开发者和学习者,这里强烈推荐博客、下载两个板块。

 

你可以像前文一样在博客部分直接搜索你的问题,并查看其他博主的解决办法而“下载”栏目则有很多非常有用的学习资料:

        640?wx_fmt=png

想找特定的资源可以直接搜关键字,不过需要注意的是,程序语言是不断在更新迭代的,请大家尽量找最新的资料下载学习。

 

简书:https://www.jianshu.com/

640?wx_fmt=png

主打“内容创作社区”,同样也有很多IT方向的创作者分享自己的学习笔记和心得。个人最推荐的是上面的“资源合集类”文章。 

         

随意点开其中一篇,长这样:

       640?wx_fmt=gif

从别人整理好的资料中挑选自己所需,比盲找效率高很多,但也要注意:学习在精不在多,宁愿钻研1份好的资料也不要收集100份资料放在网盘吃灰。

  

StackOverflow:https://stackoverflow.com/

       640?wx_fmt=png

StackOverflow是一个宝库型问答论坛,能找到各种和开发相关语言的bug解决办法,内容丰富。由于是技术型论坛,在上面搜索问题和答案,也有一定的技巧,比如:

 

1、只搜索标题的方法是在关键词前加上title:

       640?wx_fmt=png      

2、使用*来扩大搜素范围,比如搜索no module,但不确定module名字的问题:

       640?wx_fmt=png      

3、每个问题在提出的时候,提问者会给问题打标签,那么搜索者就可以使用[tag]方法来搜索标签,比如搜索[python3]来锁定python版本:

       640?wx_fmt=png

 *更多的高级搜索提示:
https://stackoverflow.com/help/searching

 

不论是提问内容,还是回答问题的内容,Stack Overflow都是一个值得学习的地方,一方面它教你如何完整清晰地提出技术问题,一方面它教你如何快速准确的搜索答案。

 

如果实在解决不了,就尝试自己提问吧。将清楚而完整的问题描述,和你自己尝试过的诊断步骤一起提出。这也是StackOverflow的社区文化:提问和回答都要有自己的思考价值。礼貌谦虚好学的态度会让你更容易获得需要的回答。

       640?wx_fmt=png

当然,Stack Overflow的界面是英文的,善用上文提到的chrome的“翻译成中文”功能会让你事半功倍。

 

GitHub:https://github.com/

GitHub可能是全球最大的程序员交友网站。有许多优秀的开发者会在GitHub上传分享自己的项目代码和经验。

       640?wx_fmt=png

 

新手程序员养成记录代码的习惯非常有用。将自己练习过的代码整理并上传到GitHub仓库上,随着时间的积累可以看到自己的进步轨迹也是一件很开心的事情。而ISSUES功能不仅能当做笔记使用,还可以作为事项管理的工具——

    640?wx_fmt=png

当然,GitHub的宝藏还有很多,比如很多新的高质量开源库如node.js,bootstrap会首发在GitHub. 作为代码学习者可以经常来GitHub逛一逛,记录自己的成长足迹,学习他人的代码经验,跟随最新的技术步伐。

总结

说了这么多,其实只有三句话:

提问要想方设法讲清楚意图、代码、报错

提问要想方设法讲清楚意图、代码、报错

提问要想方设法讲清楚意图、代码、报错

python爬虫与人工智能

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值