都说python是最佳编程入门语言,为什么你学习却是如此坎坷?

为什么都说python是最佳编程入门语言?

引用Elliott Hauser 的说法,好的编程语言学生在入门时需要获得五样东西。

非常棒的首次体验,就像一本书的第一页,首先需要“入迷”,学习新知识不可避免的会遇到挫折,但要有持续的热情和好奇心,这对于那些从未接触过编码的年轻人来说是至关重要的;

Web编程的能力,对于职业发展和程序工艺来说,Web编程越来越重要,学生有机会就应当掌握一定的Web架构基础;

桌面编程能力,尽管将来趋势将更多的转移到Web应用上,但没什么能比开发和运行一个本地程序来的直接;

有市场的职业技能,尽管在学术和业余编程中已经非常出色,但教授学生的技能在职业环境中也应该能派上用场;

社区支持和轻松的语言环境,这里再一次强调,对于那些从未接触过编码的年轻人来说是至关重要的。

而python在所有编程语言中,是最能够满足这五点的。

你学的是假python?

但是在你的python学习过程中,是否有过以下经历,或正在面临类似的局面,让你开始怀疑人生呢:

网上找了很多资料,不知道从哪里看起

买了本书,过了很久也没有看完第一章

开始还能跟着写几行代码,后来突然就看不懂了

也看了些教程和视频,似乎明白了,但还是没法自己写代码

入门了很多次,每次过两个月就又全忘了

但对于初学者,尤其是自学者,太多问题的打击,很可能就成了入门到放弃了。这里我们针对大家的问题,分享一些经验:

设定明确的学习目标

先建立整体的认知


借用网上的这张图,编程与之很类似。如果说图上的点是编程相关的各种概念和技术,学习的过程就好比绘制这张图:你通过学习,了解了这些技能点,并将其连接起来。

一种绘制方法就是先画好一个点的细节,再从这个点出发精确画出通往下一个点的线,依次一个个画下去。这是种看似稳妥,实际上却低效且很容易出错的方式。更合理的方法是:先确定纸上点的大体分布,画出他们的轮廓,然后画好关键位置上的点,连接关键点,之后再逐步完善分支和细节。

学习编程是一个反复迂回、不断迭代的过程,而不是一路到底的单行道。

在刚接触编程的时候,你根本无须在意太多细节,而是更应该对编程有个直观的印象,知道技术能够实现什么,体会编程的乐趣。这和上一点是相辅相成的:当你有了一个目标,就可以去了解达到目标需要哪些知识点、怎样的学习路径,以此来确立自己要学习的内容;而当你对编程的有一个整体的认知,又会更清楚自己学了编程可以做什么,让自己的目标更明确。

选择合适的起点和路线

在有了明确的目标,建立了整体的认知之后,接下来的事情就很自然了:选择一个合适你的起点,朝着通往目标的方向,开始你的学习,点亮技能图谱上的点,并将其连接起来。否则,盲目地从一个不恰当的地方开始,比如选了一本起点较高的书,或是上手就去折腾某个框架,就会事倍功半,效率很低,甚至导致放弃。所谓“欲速则不达”,就是这个道理。

如果你做了上一点,有些基本的整体认知,自然就会明白那些“21天精通XX”、“两个月成为数据分析师”的宣传语有多荒唐。

以上三点,通俗来说就是,你要弄清楚:

学了干嘛
学哪些内容
从哪学起
你去随便找一款目前市面上流行的手机游戏,会发现它们的新手引导也是类似的套路:

向你说明游戏的胜利条件,引导你取得一场胜利(明确目标)
让你体验一套高级别高配置的阵容(整体的认知)
指导你游戏基本操作和初期的升级(起点和路线)
这些游戏经过精心设计,力求让玩家成瘾。对于学习也是如此,让自己尽快“上瘾”,才能深入下去。

以上只是学习编程的一个开端,针对上手之后的建议,我还有几点重要提示,会在我python群839383765 中继续分享。关于学习编程的经验,欢迎大家一起来交流学习!

原文地址:https://blog.51cto.com/14186420/2374353

时间: 2024-07-28 20:03:54

都说python是最佳编程入门语言,为什么你学习却是如此坎坷?的相关文章

初识Django —Python API接口编程入门

初识Django -Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言,基于Django框架,利用MVC模型,实现后台方面的针对数据库的API开发.先了解一下互联网的WEB架构, 如上图: 互联网的WEB架构大致分为三层,web层.app层和数据库层.Web层:如apache网站服务器:app层主要是应用业务:DB指后台数据库.随着互联网的高速发展,网站访问量的增长.数

Python可视化界面编程入门

Python可视化界面编程入门具体实现代码如所示: (1)普通可视化界面编程代码入门: import sysfrom PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程 if __name__=="__main__": #创建一个Application的类 app=QApplication(sys.argv) #创建一个窗口 w=QWidget() #设置窗口的尺寸大小 w.resize(400,200) # 移动窗口

如何选择编程入门语言?一个让很多人纠结的问题

用心分享,共同成长 没有什么比你每天进步一点点更实在了 本文已经收录至我的github,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 点关注,不迷路!!! 为什么会出这样一篇文章? ?本来想写点最近学习的东西,但是最近好多粉丝再问我一个问题. image-20200105164345384 于是我决定把我这个过来人的一些建议给到你们,希望大家少一些不必要的迷茫,多花点时间去学习该学习的东西,去做一些重要的事情. 刚开始学习

Python之WEB编程入门

前面很多内容都是在介绍 Python 的知识点.这些知识点可以说涵盖了 Python 80% 的方面.在接着往下分享的话,那就是 Python 高阶的知识点.比如语言本身的自身能力(反射).描述器.元编程等内容了.再接着就是 WEB 相关的内容了. 接下来会花很多篇章来介绍 WEB 相关的知识点.然后再介绍如何从零开始实现一个 WEB 框架.内容还是比较多的,请有需要的同学多多关注. 这里从零开始写一个框架出来,目的是为了更好地使用现有的 WEB 框架,了解现有 WEB 框架是如何工作的,这才是

编程入门教程

编程入门教程 编程入门教程由QKXue.NET梳理的面向程序开发入门初学者的编程入门教程,是一个涵盖了游戏.PLC.VB.数控.JAVA.APP.Matlab.C语言.Shell.IOS.Android安卓等手机和PC编程的入门教程. 1. 编程入门教程 1.1. 游戏编程入门 游戏编程入门适用于任何对C++语言有基本了解的读者阅读,适宜作为读者进入游戏开发领域的技术入门学习用书. 游戏编程入门介绍如何设计和构建自己的电脑游戏.游戏编程入门不是泛泛地介绍编程理论,而是引导读者开发一个“即插即用”

Python的函数式编程,从入门到?放弃?

转:http://python.jobbole.com/84927/ 很早以前就听说过了函数式编程,印象中是一种很晦涩难懂的编程模式,但却一直没有去进行了解. 恰好这周组内的周会轮到我主持,一时也没想到要分享什么.灵光一闪,就选定函数式编程这个主题吧,反正组里的同事都没有学过,只需要讲解入门方面的知识就好,也正好可以借这个机会逼迫自己去学习下这种新的编程方式. 经过初步了解,发现支持函数式编程的语言挺多的,除了像Lisp.Scheme.Haskell.Erlang这样专用的函数式编程语言,我们常

Linux 利器- Python 脚本编程入门(一)

导读 众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写.大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会给你带来一些其它的好处. 首先,我们会使用 Python 的命令行工具,还会接触到 Python 的面向对象特性(这篇文章的后半部分会谈到它). 学习 Python 可以助力于你在桌面应用开发及数据科学领域的职业发展. 容易上手,广泛使用,拥有海量“开箱即用”的模块(它是一组包含 Python 语句

新手写给更新的新手的编程入门建议(python)

引文 我是从去年开始学习编程(python)的,到现在仍然还在入门阶段.之所以我的入门阶段如此之长,我想大概有以下几个原因: 一.没有选对教材 一开始我看了<python简明教程>,书中大部分概念都很简单,只能算是有了一个基本的了解.然后做了某个网络在线教程,一味的强调语法规则,反觉枯燥乏味,像是做填空题.再后来,看了udacity上的教程,发现python原来能做这么多有趣的事情,这才有了更大的兴趣.但udacity上的课程仅仅是几个小项目,适合刚开始学习时培养兴趣.然后,我有发现了<

《Go语言编程入门》视频课程开课了

作为拥有多年工作经验的运维老鸟,我没有选择运维常用的Python作为我今后的主要使用语言.Python编写运维程序的开发效率虽然很高,但随着代码量的增大,以及Python的缩进式语法结构,可读性和维护性并不很高.加之Python本身的设计,并不原生支持多线程多核,我考虑到当程序代码达到一定规模时,必然会考虑它的执行效率和维护成本.最终放弃了Python,选择语言的过程中被Google新出的Go语言吸引了.Go本身脱胎于C,语法和C比较像,我本身就一直学习和编写C和PHP程序,习惯了大括号的语法结