社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

e-satis

e-satis 最近创建的主题
e-satis 最近回复了
13 年前
回复了 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程序的人上,他就是看不到这是怎么回事。实践是带来理论的最好工具。再说一遍,如果你准备的正确,他们以后会自己学习其他的东西,所以 优先考虑和,不要害怕跳过概念,即使是简单/重要的概念。 .