python raspberry pi全局变量和gpio

2024-06-28 20:40:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在raspberry pi上有一个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)

Tags: pathkey函数apiapp声明gpiolcd