我(非科班)自学python,基本的语法掌握,但是编程能力很差,不能实践,怎样摆脱困境?

你好,我是程序在贵州大山,很高兴回答你的问题。

首先说下我自己:

我大学的专业是电子信息工程,偏向硬件主要课程是:C语言、51单片机、嵌入式实时操作系统μC/OS-II、DSP、数电、模电,信号处理、信息编码、MATLAB、ARM。大二分方向后,选择的是嵌入式开发,说实话,最专业的ARM课程还挂科了,悄悄地告诉你的,哈哈。

大三读完后,在担心工作问题,网上看了下招聘、硬件的工作岗位少,而且自己对这个不感兴趣。后来室友推荐我学习C#,就这样开始走上了软件开发的道路。

学习过程中也碰到和你类似的问题,我觉得这是普遍存在的现象,

自从爬上软件开发的这列高铁后,我坚信:“办法总比问题多,折腾能进步!”。

那我们该如何处理这种问题呢?

1:掌握基础语法后,先别急,刷刷简单的算法,多敲几遍,理解后,自己再想想还有其他方法实现该功能吗?目的是为了检验自己对应知识点的掌握程度。

2:Python啥都能搞,只是看它最合适做哪方面的事情,爬虫、AI、Web开发、通信框架,不要每一样都去了解点,你现在需要的是明确自己将来想做哪方面的开发,明确后,专门学习对应的方向。

3:多逛逛技术博客、Github。。。看看别人是怎样写代码的,可以模仿下大牛的写法,然后努力理解他为啥这样写。

4:明确方向后,自己找个简单的项目做做,自己从文档设计(自己找下常用的设计软件,我推荐下VISO和这个在线设计工具 https://app.diagrams.net/)、业务需求分析、到代码实现业务,在实现业务需求过程中就是自己把所学的知识点给串联起来的过程,也是培养自己编程思想的过程。

总结:

从简单算法开始,多敲,多调试。明确自己以后的开发方向,专研某个领域的技术,一定不要猴子掰包谷,一定不要猴子掰包谷,一定不要猴子掰包谷,过来人的忠告

自己动手写简单的需求,把知识点串联起来,形成自己的编程思想。

回答完毕,谢谢。

一个非常好的问题。有了一定编程基础知识后,要多写代码,多总结,逐步积累自己的知识库和实际经验。

一,多写代码

推荐一个在线编程网站,HackerRank,看名字就知道很牛,Hacker排行榜,里面有多种编程语言,不同难度、针对初学者的编程练习题。

1,注册账号,登录,选择要练习的Python语言

2,选择题目,可以筛选难度、功能类别

3,编写代码,运行,通过测试后提交

4,积累到一定分数后,获得Python勋章

网站功能还有成绩查询、榜单排名、参加竞赛等。

二,参加开源项目

现在Python是一门使用非常普遍的开发语言,尤其是在AI软件开发领域。多到Github上面寻找,选择有兴趣的开源项目,尝试参与开发。

1. 选择有兴趣的项目,仔细阅读文档和代码,查看历史提交记录,这个过程本身也能学到很多知识

2. 阅读代码,重点理解怎么写?为什么这样写?有没有更好的写法?

3. 按照开源社区的代码标准,开发提交代码,完成单元测试


我是工作多年的Web应用架构师,陆续发布关于软件开发方面的文章,欢迎关注我,了解更多IT专业知识。

Java开发Web服务:StarterApi后台管理系统:StarterAdminDocker部署:StarterDeploy产品原型开发:Track, Kitchen Python开发AI处理服务:starter_serviceAI应用开发:aiChat, aiWriter 如何获取源码:私信“源码客”获取下载地址。

我来回答下这个问题,很多初学者都会有这样的疑问,要解决这个问题:

第一,就是多练,拿基础的小例子去练习,通过实际的敲代码练习怎么编程,怎么调试,怎么组织程序结构

第二,就是多看,看别人写的代码,一开始可以去看,网上比较简单的代码,逐渐提高难度,最终要去GitHub等这些网站上去看那些大神写的代码,甚至去看python的源码。这个就会逐渐梳理别人是怎么写的,怎么组织的,多看了,慢慢你会学以致用的。

第三,就是多问,不懂的就要多问,要不耻下问,多问问别人,问问google,问问可以问的地方。提问能打开你的思路,能帮你更进一步提高。


另外这个编程能力的提高,是有很多方面的原因,编程基础知识结构,编程原理,编程思想等等,这个得逐步去学习和练习。


以上是我的回答。

这个问题是很多自学编程语言同学的通病。究其原因是第一学习方法有错误,第二缺少一个懂得人指导一下,第三知识掌握的还不够。作为一个多年IT老油条分享一些自己的经验,供参考。

指定一个合理的学习计划

学习编程语言,最好有一个学习计划。计划里面要写清楚每天学习的内容、学习的时间。内容包括:学习的知识点,学习的过程中要重点练习的内容,知识点的熟悉程度,需要及时复习的知识点。学习时间包括:掌握知识用的时间和练习代码的时间,个人认为对知识点练习的时间应该大多学习知识点的时间。最后还要有复习回顾的时间。制定一个好的机会要少走很多弯路。



多请教别人,多去交流学习心得

你可能会说,自己身边没有专业的人。但这个不重要,现在是信息时代,网上各种群,各种论坛,想找个懂得人还是挺容易的,自学编程语言切记不要闭门造车,要多去交流。综合一下大家的方法,补充自己的不足之处。自己瞎琢磨不但容易钻牛角尖,浪费时间,还打击自己学习的信心。有时候一个难懂的知识点可能就会成为压死骆驼的最后一颗稻草,最后半途而废,甚是可惜。

编程语言的学习并不是听懂就可以了,这个学习更像是数学的学习一样,一定要动手去练习。对每一个知识点学习完之后,都要写大量的代码进行练习。每天保证500-1000行的刚性代码量。好的程序员都是大量代码堆起来的,这决定了你的水平。

学完基本语法只能算入门

根据你的描述,自己学完了基础语言。对于Python来说基础语言太简单了,我一个有基础的同事用了一个上午就学完Python的基础课程,但是后面的知识陆续用了一个月才算基本掌握。所以对于你的编程道路来说这才刚刚开始,不会写程序也是正常的。

那么怎么突破瓶颈呢

无论说多少方法,都是没用的,还是代码量决定着一切。学完了初级的课程就应该要找相关的项目进行大量的练习。项目也好找,网上挺多的。扎实基础知识。基础扎实了就可以进行下一部分学习了,方法还是一样,大量练习!等中级学完以后就要想着自己的发展方向选择更高级的课程了。

无他,但手熟尔。我也是非科班出身,想象你手上有把锤子,全世界都是钉子,啥工作都用py搞一下。这样技术可以快速上去。再就是计算机基础课要补,数据库,数据结构,网络,操作系统,不需要用科班教材,社会上许多技术大牛出的书也可以替代。

相关代码参考