什么是(ev=none)参数?

2024-06-25 22:50:40 发布

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

下面代码中的(ev=none)参数是什么?在

// This program detects shock and responds by turning an LED on. 

import RPi.GPIO as GPIO

#!/usr/bin/env python
import RPi.GPIO as GPIO

ShockPin = 11
LedPin   = 12

Led_status = 1

def setup():
    GPIO.setmode(GPIO.BOARD)       
    GPIO.setup(LedPin, GPIO.OUT)   
    GPIO.setup(ShockPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    GPIO.output(LedPin, GPIO.HIGH) 
def swLed(ev=None):
    global Led_status
    Led_status = not Led_status
    GPIO.output(LedPin, Led_status)  
    print "led: " + ("on" if Led_status else "off")

def loop():
    GPIO.add_event_detect(ShockPin, GPIO.FALLING, callback=swLed, bouncetime=200)
    while True:
        pass   

def destroy():
    GPIO.output(LedPin, GPIO.LOW)      # led off
    GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
    setup()
    try:
        loop()
    except keyboardInterrupt:  
        destroy()

Tags: importoutputledgpioondefasstatus
1条回答
网友
1楼 · 发布于 2024-06-25 22:50:40

无论何时定义新函数,都可以为函数的参数指定默认值。如果您选择这样做,您将使用您刚才看到的语法来执行此操作:

def my_func(arg_1, arg_2="some_value"):
    print(arg_1, arg_2)

无论何时选择调用新函数,都可以使用这两个参数调用它

^{pr2}$

或者,如果您将最后一个参数默认为一个值,则可以只使用第一个参数调用它,而第二个参数将始终采用默认值。在

^{3}$

在这种情况下,第二个参数将只得到“some\u value”。在

这里有一些更有趣的默认值:http://effbot.org/zone/default-values.htm

DR版本:在您的例子中,编写该代码的人希望将“ev”默认为None。不知道为什么,因为函数的唯一参数从未在实际函数代码中使用过。在

相关问题 更多 >