python树莓派全局变量和gpio

时间:2021-07-12 14:08:38

标签: python raspberry-pi gpio

我的树莓派上有一个 python 脚本,我在其中声明了如下变量:

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(26,GPIO.OUT)

display = lcd_drivers.Lcd()

app_path = '/home/pi/MyApp'

API_ENDPOINT = 'https://localhost/api'
API_KEY = "XXXXYYY"

然后我有多个调用这些变量的函数,例如:

def processTag(tag):

    r = requests.post(url = API_ENDPOINT)
    rd = r.json()

    display.lcd_clear()
    display.lcd_display_string(rd['name'], 1)

    GPIO.output(26,GPIO.HIGH)

以上是一个示例函数,还有其他函数引用变量。

它似乎工作得很好。但是,我想知道是否需要使用全局前缀在每个函数内定义所有这些外部变量,例如如下所示。如果需要,那将意味着对所有函数重复声明它们为全局,这似乎有点矫枉过正。

def processTag(tag):

    global API_ENDPOINT
    global API_KEY
    global display
    global GPIO
    global app_path

    r = requests.post(url = API_ENDPOINT)
    rd = r.json()

    display.lcd_clear()
    display.lcd_display_string(rd['name'], 1)

    GPIO.output(26,GPIO.HIGH)

0 个答案:

没有答案