猿问

Python-当变量仅在错误时使用时,使用全局var或传递给函数是更好的做法吗

我有一个带有 7 个函数的 aws python lambda。其中 1 个使用从有效负载中提取的名为 file_id 的变量。我现在需要在另一个直接从此函数调用的函数中使用它,但只会在极少数抛出错误的情况下使用它。


例如。


def execute(event, context):

    body = get_body(event)

    file_id = get_file_id(body)

    # do some stuff here that generates service_header abd service_payload variable

    call_external_service(service_header, service_payload)

    # do some more stuff here that is irrelevant 


def call_external_service(header, payload)

     # do some irrelevant stuff

     try:

        response = requests.put(

            url, data=payload, headers=headers

        )

    except Exception as e:

         LOGGER.info(

            "Failed request for file_id "

            + str(file_id) # obviously this isn't available wondering is it better to pass in or make global, it will rarely be used.

        )

        send_file_id_to_database(file_id);

更好的做法是通过添加额外参数将其发送到方法中,还是将其设置为全局更好。当其他服务关闭时,它只会很少使用。


慕的地10843
浏览 56回答 1
1回答

饮歌长啸

将其作为参数传递通常被认为是更好的编码实践,原因有几个,其中之一是测试作为file_id参数的函数比将其作为全局变量访问更容易。
随时随地看视频慕课网APP

相关分类

Python
我要回答