我知道这个话题已经讨论过了,但我的问题有点不同:我在Raspberry Pi上运行我的代码,用于Adeept Starter Kit (Raspberry Pi版本)。我已经学到了第9课,那就是控制LCD1602。但是当我运行代码时,我得到一个错误:Traceback (most recent call last): File "/home/pi/Desktop/Adeept_Starter_Kit_for_RPi3_V2.0/code/Starter_Kit_Python_Code_for_RPi/09_lcd1602.py", line 11, in <module> class Adafruit_CharLCD: File "/home/pi/Desktop/Adeept_Starter_Kit_for_RPi3_V2.0/code/Starter_Kit_Python_Code_for_RPi/09_lcd1602.py", line 62, in Adafruit_CharLCD self.GPIO = GPIO NameError: name 'self' is not defined
下面是代码片段,它会变得古怪起来:
def __init__(self, pin_rs=14, pin_e=15, pins_db=[17, 18, 27, 22], GPIO = None):
if not GPIO:
import RPi.GPIO as GPIO
self.GPIO = GPIO
self.pin_rs = pin_rs
self.pin_e = pin_e
self.pins_db = pins_db
self.GPIO.setmode(GPIO.BCM)
self.GPIO.setup(self.pin_e, GPIO.OUT)
self.GPIO.setup(self.pin_rs, GPIO.OUT)
您可以查看完整的代码文件at this link
耽误您时间,实在对不起!
发布于 2018-06-23 06:05:33
您的缩进已关闭。只有if
语句实际上在__init__
中,其余的没有缩进,因此被理解为不相关的顶级(或类定义级别)代码。顶级代码不包含self
的绑定,因此出现错误。
https://stackoverflow.com/questions/50996077
复制相似问题