为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕的地10843 2023-07-27 15:44:42
我有一个带有 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);更好的做法是通过添加额外参数将其发送到方法中,还是将其设置为全局更好。当其他服务关闭时,它只会很少使用。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

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



查看完整回答
反对 回复 2023-07-27
  • 1 回答
  • 0 关注
  • 55 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信