想学习Python,又怕自己坚持不下来,有没有学完的分享一下?

2020-03-23 17:32发布

4条回答
曾为
2楼 · 2020-05-14 10:21

Python学起来还是相对简单和轻松的,最好还是能够系统的学习

大泽九章
3楼 · 2020-09-17 10:13



注:原文发表于http://303727350.qzone.qq.com/,最后一次修改2013年10月23日。今天和几个大二、大一的学生一起在食堂吃晚饭(好像现在饿了,食堂的饮食就是减肥的好地方),主要是和大一学生聊天。其中有学生对目前的学习/专业认识比较迷茫,其实真的很正常,我大一(2010-2011年)时,学了一个学期C++,好像什么都不明白。但自己当时决定毕业后工作,所以在大二时参加了“高级程序员”考试,并通过(当时都没有买电脑,主要是到机房买卡上机)。编程的学习曲线比较陡,初期最好的办法就是“抄书敲代码,编译不通过就一个一个单词检查,发现自己错误之处”,当我们代码量积累到1000行的时候(估计,大概20个程序片段),那时我们会有一点点“敲代码手感”,这时,就去学习“调试代码”吧。——2014.03.03

 

     来海大恰好三年了,授课2年多的时间里,发现在课堂上,自己讲的理论太多,即使是编程课,其实还有很多同学根本就没有进入编程的状态,或者说是入门。为什么会这样呢?因为平时我们很少练习。古语说“书读百遍,其义自见”,其实任何事都是这样。这学期的《离散数学》课程,我经常结合练习布置若干个编程加分题(做出1道题,加5-10分,允许总成绩最高达到满分,因为如果同学真正练习了,提高的不仅仅是分数,更重要的是对学习的兴趣),142个同学中,一般总有6-8个同学会主动做,这个结果,对我来说,已经比较满意了。

      在这里,谨和大家分享书籍《笨方法学Python》的前言,让我们看看大家是怎样教我们的? 希望同学们看过这篇文章后,结合自己的学习经验,分享自己的心得体会。如果你能够耐着性子一字一字的读完这篇前言,你的收获可能会大于你在大学所有的课程。因为这里教会的是一种学习的习惯,而不仅仅是Python编程。

     

      在学校里学习到的内容,90%都会过时;而学习的习惯,则会让我们终身受益。

原文网址:https://learn-python-the-hard-way-zh_cn-translation.readthedocs.org/en/latest/intro.html

-----------------------------------------------------------------前言:笨办法更简单

   这本小书的目的是让你起步编程。虽然书名说是“笨办法”,但其实并非如此.所谓的“笨办法”是指本书教授的方式。本书让你通过练习和记忆来慢慢打好技术基础,然后让你由浅入深地把自己学会的技巧应用到各种问题上面。

在这本书的帮助下,你将通过非常简单的练习学会一门编程语言。做练习是每个程序员的必经之路:

做每一道习题一字不差地写出每一个程序让程序运行起来   就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你通读了这本书,每晚花个一两小时做做习题,你可以为自己读下一本编程书籍打下良好的基础。通过这本书你学到的可能不是真正的编程,但你会学到最基本的学习方法。

   这本书的目的是教会你编程新手所需的三种最重要的技能:读和写、注重细节、发现不同。

读和写

   很显然,如果你连打字都成问题的话,那你学习编程也会成问题。尤其如果你连程序源代码中的那些奇怪字符都打不出来的话,就根本别提编程了。没有这样基本技能的话,你将连最基本的软件工作原理都难以学会。

   为了让你记住各种符号的名字并对它们熟悉起来,你需要将代码写下来并且运行起来。这个过程也会让你对编程语言更加熟悉。


注重细节

   区分好程序员和差程序员的最重要的一个技能就是对于细节的注重程度。事实上这是任何行业区分好坏的标准。如果缺乏对于工作的每一个微小细节的注意,你的工作成果将缺乏重要的元素。以编程来讲,这样你得到的结果只能是毛病多多难以使用的软件。

   通过将本书里的每一个例子一字不差地打出来,你将通过实践训练自己,让自己集中精力到你作品的细节上面。


发现不同

   程序员长年累月的工作会培养出一个重要技能,那就是对于不同点的区分能力。有经验的程序员拿着两份仅有细微不同的程序,可以立即指出里边的不同点来。程序员甚至造出工具来让这件事更加容易,不过我们不会用到这些工具。你要先用笨办法训练自己,等你具备一些相关能力的时候才可以使用这些工具。

   在你做这些练习并且打字进去的时候,你一定会写错东西。这是不可避免的,即使有经验的程序员也会偶尔写错。你的任务是把自己写的东西和要求的正确答案对比,把所有的不同点都修正过来。这样的过程可以让你对于程序里的错误和bug更加敏感。


不要复制粘贴

   你必须手动将每个练习打出来。复制粘贴会让这些练习变得毫无意义。这些习题的目的是训练你的双手和大脑思维,让你有能力读代码、写代码、观察代码。如果你复制粘贴的话,那你就是在欺骗自己,而且这些练习的效果也将大打折扣。


对于坚持练习的一点提示

   在你通过这本书学习编程时,我正在学习弹吉他。我每天至少训练2小时,至少花一个小时练习音阶、和声、和琶音,剩下的时间用来学习音乐理论和歌曲演奏以及训练听力等。有时我一天会花8个小时来练习,因为我觉得这是一件有趣的事情。对我来说,要学好一样东西,每天的练习是必不可少的。就算这天个人状态很差,或者说学习的课题实在太难,你也不必介意,只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣了。

   在你通过这本书学习编程的过程中要记住一点,就是所谓的“万事开头难”,对于有价值的事情尤其如此。也许你是一个害怕失败的人,一碰到困难就想放弃。也许你是一个缺乏自律的人,一碰到“无聊”的事情就不想上手。也许因为有人夸你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情,怕有负你”神童”的称号。也许你太过激进,把自己跟有20多年经验的编程老手相比,让自己失去了信心。

   不管是什么原因,你一定要坚持下去。如果你碰到做不出来的加分习题,或者碰到一节看不懂的习题,你可以暂时跳过去,过一阵子回来再看。只要坚持下去,你总会弄懂的。

   一开始你可能什么都看不懂。这会让你感觉很不舒服,就像学习人类的自然语言一样。你会发现很难记住一些单词和特殊符号的用法,而且会经常感到很迷茫,直到有一天,忽然一下子你会觉得豁然开朗,以前不明白的东西忽然就明白了。如果你坚持练习下去,坚持去上下求索,你最终会学会这些东西的。也许你不会成为一个编程大师,但你至少会明白程序是怎么工作的。

   如果你放弃的话,你会失去达到这个程度的机会。你会在第一次碰到不明白的东西时(几乎是所有的东西)放弃。如果你坚持尝试,坚持写习题,坚持尝试弄懂习题的话,你最终一定会明白里边的内容的。

   如果你通读了这本书,却还是不知道编程是怎么回事。那也没关系,至少你尝试过了。你可以说你已经尽过力但成效不佳,但至少你尝试过了。这也是一件值得你骄傲的事情。


给“小聪明”们的警告

   有的学过编程的人读到这本书,可能会有一种被侮辱的感觉。其实本书中没有任何要居高临下地贬低任何人的意思。只不过是我比我面向的读者群知道的更多而已。如果你觉得自己比我聪明,然后觉得我在居高临下,那我也没办法,因为你根本就不属于我的目的读者群。

   如果你觉得这本书里到处都在侮辱你的智商,那我对你有三个建议:

别读这本书了。我不是写给你的,我是写给需要学习的人的。放下架子好好学。如果你认为你什么都知道,那你就很难从比你强的人身上学到什么了。学Lisp去。我听说什么都知道的人可喜爱Lisp了。   对于其他在这里学习的人,你们读的时候就想着我在微笑就可以了,虽然我的眼睛里还带着恶作剧的闪光。



 

许可协议

Copyright(C)2010byZedA.Shaw.你可以在不收取任何费用,而且不修改任何内容的前提下自由分发这本书给任何人。但是本书的内容只允许完整原封不动地进行分发和传播。也就是说如果你用这本书给人上课,只要你不向学生收费,而且给他们看的书是完整未加修改的,那就没问题。


特别感谢

   首先我要感谢帮助我完成这版书的人。首先是PrettyGirlEditingServices可爱的编辑所做的编辑工作。然后是GregNewman,他提供了美工图并帮我设计了封面,而且还帮忙复审了本书。是他让这本书看上去像本真正的书籍,而且就算我没在第一版里提到他的辛劳,他也没跟我计较。我还要感谢BrianShumate在网站设计方面的帮助,这方面的帮助也是我非常需要的。

   最后,我还要感谢成千上万读过本书第一版而且提出bug报告和改进建议的读者。你们的贡献让这本书的内容更为扎实,没有你们我是做不到的。谢谢你们。



靓猴一枚
4楼 · 2021-11-26 15:16

想学就好好学啊,报个班,花了钱,没有不好好学习的。

除非你是兴趣学习,那就无所谓了,爱学学,不学就不学呗,这个没啥

不吃鱼的猫
5楼 · 2022-05-06 14:43

多给自己定定目标计划,然后安排啥的,设好闹钟

相关问题推荐

  • 回答 3

    换行。比如,print hello\nworld效果就是helloworld\n就是一个换行符。\是转义的意思,'\n'是换行,'\t'是tab,'\\'是,\ 是在编写程序中句子太长百,人为换行后加上\但print出来是一整行。...

  • 回答 42

    十种常见排序算法一般分为以下几种:(1)非线性时间比较类排序:a. 交换类排序(快速排序、冒泡排序)b. 插入类排序(简单插入排序、希尔排序)c. 选择类排序(简单选择排序、堆排序)d. 归并排序(二路归并排序、多路归并排序)(2)线性时间非比较类排序:...

  • 回答 70
    已采纳

    前景很好,中国正在产业升级,工业机器人和人工智能方面都会是强烈的热点,而且正好是在3~5年以后的时间。难度,肯定高,要求你有创新的思维能力,高数中的微积分、数列等等必须得非常好,软件编程(基础的应用最广泛的语言:C/C++)必须得很好,微电子(数字电...

  • 回答 28

    迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅记住了它的数据状态,生成器还记住了程序...

  • 回答 9

    python中title( )属于python中字符串函数,返回’标题化‘的字符串,就是单词的开头为大写,其余为小写

  • 回答 6

    第一种解释:代码中的cnt是count的简称,一种电脑计算机内部的数学函数的名字,在Excel办公软件中计算参数列表中的数字项的个数;在数据库( sq| server或者access )中可以用来统计符合条件的数据条数。函数COUNT在计数时,将把数值型的数字计算进去;但是...

  • 回答 1

    head是方法,所以需要取小括号,即dataset.head()显示的则是前5行。data[:, :-1]和data[:, -1]。另外,如果想通过位置取数据,请使用iloc,即dataset.iloc[:, :-1]和dataset.iloc[:, -1],前者表示的是取所有行,但不包括最后一列的数据,结果是个DataFrame。...

  • Python入门简单吗2021-09-23 13:21
    回答 45

    挺简单的,其实课程内容没有我们想象的那么难、像我之前同学,完全零基础,培训了半年,直接出来就工作了,人家还在北京大公司上班,一个月15k,实力老厉害了

  • 回答 4

    Python针对众多的类型,提供了众多的内建函数来处理(内建是相对于导入import来说的,后面学习到包package时,将会介绍),这些内建函数功用在于其往往可对多种类型对象进行类似的操作,即多种类型对象的共有的操作;如果某种操作只对特殊的某一类对象可行,Pyt...

  • 回答 8

     相当于 ... 这里不是注释

  • 回答 4

    还有FIXME

  • 回答 3

    python的两个库:xlrd和xlutils。 xlrd打开excel,但是打开的excel并不能直接写入数据,需要用xlutils主要是复制一份出来,实现后续的写入功能。

  • 回答 8

    单行注释:Python中的单行注释一般是以#开头的,#右边的文字都会被当做解释说明的内容,不会被当做执行的程序。为了保证代码的可读性,一般会在#后面加一两个空格然后在编写解释内容。示例:#  单行注释print(hello world)注释可以放在代码上面也可以放在代...

  • 回答 2

    主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行其他的:import linecachefile=open('3_2.txt','r')linecount=len(file.readlines())linecache.getline('3_2.txt',linecount)这样做的过程中发现一个问题,...

  • 回答 4

    或许是里面有没被注释的代码

  • 回答 26

    自学的话要看个人情况,可以先在B站找一下视频看一下

没有解决我的问题,去提问