Thonny是最新的Raspbian系统中直接自带的Python IDE,支持Python3.6,更新到最新的Raspbian之后无需安装其他,就能打开使用。
在Menu>Programming中就能找到这个IDE
打开之后可以看到主要是两个区域,包括一个代码编辑区和一个shell的窗口,前者用来编写代码,后者可以用来更加直接地交互。
与IDLE相比,Thonny还有一大堆更加强大的适合学习编程地特性,比如他的debug模式,在debug模式中可以逐行运行代码,同时可以看到所有对象或变量的状态,在其他的一些IDE里面,它们会需要用户来设置断点,但是Thonny不需要,它有更加方便的方法。
如何使用Thonny
在代码编辑区正常地编写代码,代码高亮是有的,当然补全还是不存在的,写完一部分代码之后单击上方的三角形来运行代码,运行结果就会在下方地shell窗口中显示出来。
用Thonny来Debug
选择View>Variables,就会有一个新的变量小窗口显示出来,并且可以看到当前的n的值(0),单击上方的Debug图标,就会开始调试模式,第一行会高亮,接着再点击Step Into就会高亮变量,接着点击,变量会变成他的高亮的值(10);另外单机Step Out就能跳出while这个循环。
在Thonny中理解递归
对于这样一段代码
n = 3 def count(n): if n > 0: print(n) count(n-1) else: print("Blast off!") count(n)
通过Thonny的Debug模式,就能非常直观地来看懂这段递归的代码。
在Thonny中观察程序运行时的堆和对象
选择VIew > Heap和View > Objects,那么当你调试下面的面向对象的代码的时候,就能很方便地在调试过程中看每个对象的属性和方法。
class Animal(): def __init__(self, c, n): self.creature = c self.name = n def get_creature(self ): return self.creature def get_name(self): return self.name animals = [] animals.append(Animal("Dog", "Fido")) animals.append(Animal("Cat", "Claws")) animals.append(Animal("Mouse","Nibbles")) for animal in animals: name = animal.get_name() creature = animal.get_creature() print(name + " is a " + creature)
总体而言,这是一个轻量级的、同时又有不错的调试模式的IDE,非常适合在树莓派上学习Python时使用。
import machine
import time
pin2=machine.Pin(2,machine.Pin.OUT)
while True:
pin2.value(1)
time.sleep(1)
pin2.value(0)
time.sleep(1)
用micorpython程序中如何统计esp32上灯点亮的次数