2

这些问题的基本程度可能会让您感到震惊,但请耐心等待!如果有更好的地方可以问,我会很感激迁移。

我正在看两个 Python 教程,其中之一是“Learn Python the hard way”。我没有条件评估教程的质量,所以我有几个问题。(我才刚刚开始 LPTHW,所以如果答案在 20 次练习之后出现,我深表歉意。)

  1. 在 LPTHW 中,到目前为止的练习都是在 Notepad++ 中编码并从命令行执行 txt 文档。在另一个中,它是一个“将命令一个一个地输入 Python”的教程。问题:对于学习者来说,哪个更实用?“两者”是可以接受的答案。

  2. 在 LPTHW 中,变量的第一个解释,格式字符命令 %s %d 和 %r 被使用。练习说“搜索网络以了解所有这些”。我进行了一次网络搜索,发现有人说“不要使用那些,使用新的”。问题:LPTHW 是否以这种方式过时了,我应该使用“新的”吗?

4

7 回答 7

3
  1. 我会说“两者”。当您编写“真正的程序”时,您将在文本文件中编辑它们并从命令行运行它们,但交互式环境是学习、探索和测试的好方法。当我将编码作为检查我的假设的地方时,我保留了一个交互式 python 会话。
  2. 您绝对应该学习旧的格式化语法。它基于 C 语言的格式化打印工具,并且许多编程语言都采用了类似的系统,因此了解这一点很重要。学习新东西也没什么坏处,尝试在新旧样式中编写相同的格式化功能是一个很好的练习。
于 2012-06-15T19:31:51.663 回答
1

这是我的看法:

  1. 新学习者一开始可能更喜欢将命令一个一个地输入到 Python 中,因为他们会得到即时反馈并且仅限于小程序。编码到编辑器或 IDE 中适用于更高级的用户。“两者”是最终的、长期的答案。
  2. 可能是 LPTHW 是为早期版本的 Python(例如 2.6)编写的。我想我们现在是 3.2。我想说的是,如果您根本不了解 Python,并且只是第一次学习它,那么即使不是最前沿的教程也会对您有所帮助。可能会有一些细节会在这里和那里发生变化,但基本语言仍然很好。
于 2012-06-15T19:30:30.027 回答
1

1)两者。创建脚本是您大规模使用 Python 所做的事情。使用 Python shell 也可以很好地向您展示,您可以通过命令行使用大量选项进行简单的脚本编写,而无需像使用其他语言那样构建/编译整个程序等。

2)格式改变,但没什么大不了的。许多人仍然使用 Python 2.x,因为 Python3 引入了一些不必要的更改。看看吧。

于 2012-06-15T19:32:16.713 回答
1
  1. Python repl 非常适合测试内置函数,但是就编写健壮、复杂的程序而言,您必须写入文件。

  2. 虽然我们在 Python 3.x,但 Python 2.x 仍然被更广泛地使用。%s 是字符串的占位符,%d 是整数的占位符,%r 是某些 python 命令的占位符。

例如:

a = "hello world"
b = "%s"
b%a == "hello world"
a = 10
b = "%d"
b%a == "10"
a = "%r"
a%range(10) == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" #since range(10) is a python function
                                                #which returns the list of numbers 
                                                #from 0 to 10
于 2012-06-15T19:37:08.447 回答
1

过去几个月我一直在通过 LPTHW 工作,目前正在使用 ex50。我的简短回答是:认真对待 Shaw,通过 LPTHW 搞砸你的屁股!您将看到您将同时使用文本编辑器和交互式会话,因此这不是一个真正的问题。Shaw 并不是在开玩笑说“难”,而是因为如果你花几个月的时间,认真对待“额外学分”,你会学到很多东西。

当他说,“去读一些废话”时,是的,这很难。但我很快意识到“去阅读”是一项必要的技能(我想我已经知道了)。另外,允许浏览网页并迷失阅读作业中没有的python内容:)

我的一些提示:

  • 先做这本书(比 LPTH 容易得多):命令行速成课程。认真对待他,制作闪存卡。我很幸运,有两台笔记本电脑并排,一台是 Windows 7,一台是 Ubuntu linux。在这一点上,我已经倾向于在 linux 中进行编码,并且我在命令行方面已经足够好了,我实际上想要学习 Vim(对我来说是一个很大的惊喜)

  • 如果您可以在 linux 和 windows 之间进行选择,那么最终您可能会更乐意使用 linux。我认为 Windows 支持一切,但大多数帮助都是针对 linux 的。我的目标是同时学习两者,但就像我上面所说的,此时我在 Windows 机器上阅读 LPTHW,而我在 Ubuntu 机器上编码

  • 做所有额外的功劳。但是,如果您感到困惑,请不要担心。后来我发现,也许是第二天,也许是下周,我会回过头来,最终了解之前练习的额外功劳。

  • 在迄今为止的所有练习中,“练习 46:骨架项目”对我来说是最具变革性的。在书中的那个点附近,我开始陷入困境并感到无能。但我一直在挣扎,在一两个星期(可能工作 10 到 20 个小时)之后,突然“咔嚓”一声,我现在觉得我知道了什么。我建议重复做 3-6 题的“必答测验”问题,直到你可以从记忆中完成所有事情而无需查找任何内容。在 linux 上,您只需使用键盘即可完成所有这些问题,而且我意识到如果您不需要鼠标,事情会变得多快。我想这就是为什么我很想学习 Vim。

  • 最后,当您使用 LPTHW 时,如果可能的话,将 python 用于小型项目。这是一个很好的动机,您可以提前阅读以了解诸如安装包之类的事情。我很早就发现,我能够进入 github,找到我需要的代码,并根据我自己的目的对其进行调整。即使其中大部分是神秘的,例如,如果 __name__ = '__main__': 。我不知道这意味着什么,但这并没有阻止我使用 python 并想了解更多。

好的祝你好运!

于 2012-07-31T13:05:35.120 回答
0

Idle 会快一点,或者 Eclipse 的 pydev 插件(也会提供代码完成等),你可以从一个地方编写和运行你的代码,并且过时了,真的取决于你的环境,也youtube 上的新波士顿教程不会出错

于 2012-06-15T19:30:16.870 回答
0
  1. 将 Python 代码输入到交互式解释器中是一种很好的测试方式,尤其是在您不想为其创建文件的情况下。查看函数返回的结果并尝试任何方法很有用。但是您编写的任何程序当然都将存储在文件中。两者确实是答案,因为它们都在开发过程中使用,只是用于不同的目的。

  2. 格式化字符串的新方法是"thestring".format(...)"...各种格式化选项在哪里。这确实是一种新的做事方式,您应该改用它。旧的格式化选项使代码的可读性降低(因为您必须知道其中的缩写%),而且编写起来要容易得多"string with values: {0} and {1}".format(3, 4)

于 2012-06-15T19:30:36.763 回答