自我未定义-python 2

时间:2018-06-22 21:59:13

标签: python-2.7 raspberry-pi

我知道这个话题已经讨论过,但是我的问题有点不同: 我在Raspberry Pi上运行Adeept入门套件(Raspberry Pi版本)的代码。我正在学习控制LCD1602的第9课。但是,当我运行代码时,我收到一条错误消息: 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

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

您的缩进已关闭。实际上,只有if语句在__init__内部,其余语句没有缩进,因此被理解为无关的顶级(或类定义级)代码。顶层代码不包含self的绑定,因此会出现错误。