python魔鬼题目
学习python的人面临的障碍
从Java切换到python对我来说并不困难。 尽管我的代码不是pythonic,但我可以编写代码并使其正常运行。 当我在Focus信息技术公司工作时,我们经常举办有关构建聊天机器人的讲习班和研讨会,而python是必备条件。 在进行了一些动手实践的研讨会之后,我注意到了大多数Python初学者反复遇到的一些问题。
我想将其编译成列表,因为我想向初学者发送一条信息,即在学习python时可以犯这些错误,而且您并不孤单。 对于教python的人来说,在教python来完成新手时要牢记一些关键点。
一点背景
我们的大多数学生都具备C类型语言的知识-C / C ++ / Java。 他们将这些语言的理论知识作为课程的一部分。 问题的模式全盘相似。 这里列出了一些问题。
问题所在
哪个版本的python?
python版本范围从2.7到3.7会使初学者感到困惑。 他们没有明确的方向选择哪个。 这是任何想学习python的人都会问的第一个问题。
外壳与文件
大多数Python程序员都了解如何利用python shell以及如何切入和切出它。 但是对于新手来说,这非常令人困惑,主要是因为它们来自编译语言的背景。 他们不知道交互式外壳以及键入和执行小代码段的能力。 在他们的实验室中,他们使用编辑器编写了一些代码,编译并修复了错误,并反复进行,直到程序正常运行为止。
互动输入
外壳输入是另一个问题。 我们曾经向他们展示了一些简单的程序,它们可以接受来自控制台的输入并执行一些操作。 input()
对他们来说尤其困难。 该程序正在等待他们提供一些输入,并且他们正在等待该程序执行某些操作。 从那时起,我意识到我们应该始终使用raw_input("Enter your name ::")
这样的提示来教输入语句
冒号的使用
这些学生习惯于使用C / C ++ / Java的分号,以至于将冒号误认为分号。 看着屏幕上投射的程序并没有多大帮助,他们挠头寻找是冒号还是分号。 他们中的大多数人都使用分号,因为那是其他语言所做的。 幸运的是,我从未见过有人在所有行中使用分号。
缩进
对于新的Python程序员来说,这是另一个噩梦。 弯括号为代码块赋予了视觉外观。 尽管python严格的缩进使代码对于初学者来说看起来很整洁,但这是一个战场,他们从来不知道应该缩进还是缩进特定的块。
资料类型
Python的弱类型和动态类型使初学者感到困惑。 这很困难,因为代码无法让他们知道是整数,浮点数还是字符串。 他们看上去都一样。 导致许多问题。
印刷与运营
由于数据类型不明显,因此它们不知道如何打印这些变量或如何使用它们。 例如,在学习列表的同时,他们很乐意创建一个由5个元素组成的列表,并使用print语句进行打印。 但是,当您要求他们垂直打印列表中的项目时,他们感到恐慌,因为他们不知道如何将其与Python的for循环结合使用。
如何以及何时使用字典?
当他们发现字典时,情况变得更糟,因为没有其他编程语言向他们介绍过这样的数据结构。 尽管Java具有HashMaps,但他们在所见过的Java编程示例中并未广泛使用它们。 我们意识到引入像dicts这样的数据结构的最好方法是显示一个表,并显示如何将其转换为字典表示形式。
还有其他问题。 像如何操作字典。 如何找到键/值存在于字典中,返回函数的类型等等。
外卖
- 如果您的读者已经具有编程知识,那么最好先比较他们已经知道的知识,然后将其映射到Python中的类似编程结构。
- 如果他们从未见过生活中的编程,那么与“ hello world”程序相比,乌龟图形程序将引起更多的兴趣。
- Python不是一门难学的语言,但是它需要高水平的视野和开放的思维来吸收所有这些知识,特别是如果您来自Java或C ++世界。
Bhavani Ravi | Techie By Profession | Everything else by passion.
@geeky_bhavani
翻译自: https://hackernoon.com/learning-python-the-pretty-devil-675e42da526a
python魔鬼题目