私信  •  关注

e-satis

e-satis 最近创建的主题
e-satis 最近回复了
11 年前
回复了 e-satis 创建的主题 » 如何在我的android代码中使用python代码?

又一次尝试: https://code.google.com/p/android-python27/

这一个直接将python解释程序嵌入到应用程序apk中。

经过一些尝试/除了作为一名教师, 我选择了坚持 :

(从无到有,调整到他们的水平)

  1. 很快,python是什么,您可以用它做什么。跳过关于技术方面的演讲,专注于他们想要做的事情:音乐、图形用户界面、网站、重命名文件等。
  2. 安装python,运行解释器。如果可以,请使用 iPython .
  3. 变量、基本字符串和 print() .
  4. int和类型(包括类型错误和强制转换)。
  5. 基础微积分。展示他们 1 / 0 , 10 / 3 但不要用细节来打扰他们 .
  6. 把微积分变成变量。
  7. 在微积分中使用变量。
  8. 字符串格式化方式 % . 仅显示“%s”,这就足够了,而且始终有效。始终使用一个元组(结尾为Coma),即使它只包含一个项。
  9. 列表、索引、切片和常见错误。然后将元组显示为冻结列表(和强制转换)。显示可以包含彼此。 让他们继续努力直到他们完全掌握了它 :这非常非常重要。
  10. 字典,常见错误。用元组和列表嵌套。坚持最后一点。
  11. For 循环字符串、列表、元组、字典。
  12. 为了 循环嵌套类型。讨厌。慢慢来。知道那部分会改变一切。
  13. 词典 items() , values() keys() .
  14. 使用读取文件 for 包括 IOErrors .
  15. 编写文件。
  16. 使用方法。使用字符串作为示例 strip() , lower() , split() 等。 不要解释OOP 如何使用方法。以后经常使用世界上的“方法”。
  17. 创建并使用模块文件。 只有一个模块 .里面的一切。
  18. 功能(仅与 return 没有 打印() . 禁止 打印() 在函数中 )。
  19. 功能参数。
  20. 命名参数。
  21. 默认值参数。
  22. Try / Except 以及例外情况。
  23. Import 以及创建自己的目录模块。展示所有的特殊情况(解释它比你想象的要花更多的时间)。
  24. 演示一些标准模块(但是 别在上面花太多时间,这只是为了展示 ):datetime、string、os和sys。避免像Itertools这样的抽象事物,它们是一个编码者的梦想,但却是学生的噩梦。

在那之后你可以把OOP带到桌子上,但这有点复杂。使用字符串、列表和文件引入对象的概念。他们拿到后,就从上课开始。那么愿原力与你同在:—)

它很吸引人 print 在函数中显示它是如何工作的,甚至更容易使用 raw_input . 你应该不惜一切代价避免它 . 第一个让“返回值”的概念变得非常困难,第二个隐藏了程序的真实流程,学生很难理解你需要链接函数,而不是向用户询问你需要的每一个值。

一般来说,选择一种适用于某事物的方法并坚持下去。不要表现出其他的方式。例如:

仅显示字符串格式,使用 % 忽略 + , . 你总是可以在你的演讲材料中为那些想了解更多的人加上一点“进一步”的障碍。仅显示 对于 而不是 while . 几乎90%的python程序都可以在没有 虽然 . 避免 += . 不要显示可以将字符串/列表/dict与int相乘。这不是错误的,但会导致他们产生误解。你需要他们关注主要的概念。

不显示集合。集合非常有用,但很少使用。鼓励他们在家里编码,问你他们是否解决不了问题。在这种情况下,如果集合是解决方案,则显示它们。知识集需要时间和学生的大脑资源,这些资源可以用于更经常使用的事物。如果没有你,他们以后有足够的时间学习新工具: 专注于独自学习困难或耗时的事情。

同样的道理 enumerate . C或Java背景的学生将使用索引来循环,而不是使用 对于 如果你给他们 枚举 . 出于类似的原因,保持 len , fd.read , fd.realines range 对于最后一门课程,如果您有时间学习“高级python”,它将被授予“高级python”的称号。

甚至不要考虑生成器、元类和装饰器。很少有学生能抓住这些东西, 即使经过几个月的练习 . 列出理解, with 如果你觉得你的学生很聪明,可以在最后的一些课程中加入三元运算。

最终, 任意实施良好做法 . pep8格式、良好的体系结构、名称约定、没有不变的默认参数等。他们现在还不知道。别费事,你是老师,你有权不时地说“这就是它的本来面目”。

哦,如果他们不从学习字节码、递归、汇编、复杂性、冒泡排序、堆栈、实现细节等开始,他们会是更好的程序员。如果你把时间浪费在教一个不会编写好的Python程序的人上,他就是看不到这是怎么回事。实践是带来理论的最好工具。再说一遍,如果你准备的正确,他们以后会自己学习其他的东西,所以 优先考虑和,不要害怕跳过概念,即使是简单/重要的概念。 .