• 为什么有一些 Python 入门书不教class,yield, self 之类的方法?
  • 发布于 2个月前
  • 332 热度
    6 评论

我是个编程纯小白,在自学 Python 。选的入门书是《 Python 编程快速上手——让繁琐工作自动化》。这本书在众多的 Python 自学建议里都被提及,豆瓣评分也不错。但我发现,看不少视频教程,或者其他人的代码里,经常看到 class ,yield ,self ,__init__之类的方法(我也不知道该管他们叫什么,暂且统称方法吧),但是在《 Python 编程快速上手——让繁琐工作自动化》里似乎完全没有提及。我大致看了一下这几个方法的教程和视频,发现确实看不懂。

我有几个问题:

1 、请问为什么这么受好评的入门书里面不教这几个方法?
2 、如果我不学这几个方法,未来会遇到什么问题?是否只是代码会写得繁琐一点,但还是能绕过去?(我学 Python 不是为了就业当程序员,只是为了提高工作效率)
3 、可否用踢足球或者开汽车来类比一下这些方法?是否这些方法是类似于倒钩射门或者甩尾漂移?普通人一辈子都不会用到,不学无妨?还是说相当于 40 米远射?我射不了那么远,但可以麻烦一点多传几脚到禁区内再射门?

请大神们指点迷津。
用户评论
  • 弄潮儿
  • 这么说吧,通过书名看起来这本书的目的是教人做一个工具,而 class 是用来制作工具的工具,面向的场景不一样,所以它不会讲这部分内容。
  • 2024/7/1 12:55:00 [ 0 ] [ 0 ] 回复
  • 原木风
  • 因为这个的一部分属于高级范围了 建议看 fluent python 或者 python cookbook,任何东西都是从基础开始,不可能一开始就给你讲复杂的,你想进阶就得持续学习,另外上面提到的 cs61a 是很好入门编程领域的课程。
  • 2024/7/1 12:53:00 [ 0 ] [ 0 ] 回复
  • 心碎
  • yield 可以不讲,使用场景是比较小,但 class 还是比较基本的,面向对象是 python 的一大特色,不然只能写写面向过程的程序
  • 2024/7/1 12:50:00 [ 0 ] [ 0 ] 回复
  • 小熊
  • 我看了一下这本书的目录,它第一部分的基础太简单,甚至是是简陋,完全不够。第二部分的示例倒是挺好,很具体,很适合给新手展示你能做什么。这本书入门完全不够,大概情况会是一旦你想脱离第二部分的使用场景,想要自己做点东西,就会无从下手!
  • 2024/7/1 12:45:00 [ 0 ] [ 0 ] 回复
  • 温柔在手心
  • "本书是面对编程初学者的书,假定读者没有任何编程知识。在简单介绍 Python 编程语言的基本知识后,就开始用一个接一个的例子,教我们如何用 Python 来完成一些日常工作,利用计算机这个强大的工具,节省工作时间,提高工作效率,避免手工操作容易带来的错误。"--摘自译者序。


    感觉这本书是写给并非靠写代码吃饭的人,提高他们自己应用场景中的工作效率的。对于这些人和使用场景来说,比较符合你举的例子。class (或者面向对象),yield (或者"协程")之类等等概念,更多的是为了搞定复杂项目,在这些使用场景下可能确实不是必须的。
  • 2024/7/1 12:39:00 [ 0 ] [ 0 ] 回复
  • 来自人海
  • 估计 op 是希望有一本书,21 天从入门到精通。。。我记得我上大学那时候就有很多,比如 turbo c 从入门到精通,windows 3.1 从入门到精通,dos 6.2 从入门到精通,autocad 12 从入门到精通。。。
    实际上感觉这就是一入门,精通不了的。
  • 2024/7/1 12:35:00 [ 0 ] [ 0 ] 回复