学习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
From: https://hackernoon.com/learning-python-the-pretty-devil-675e42da526a