Python 替换变量值

Python 替换变量值,python,python-3.x,Python,Python 3.x,这是我的代码: checked_ids = request_data["ids"] for service_id in checked_ids: if service == "insertion-order":: IO.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id&q

这是我的代码:

checked_ids = request_data["ids"]

for service_id in checked_ids:
    if service == "insertion-order"::
        IO.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id": advertiser_id })
    if service == "line-item"::
        LI.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id": advertiser_id })
    if service == "conversion-pixel":
        PIXEL.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id": advertiser_id })
    if service == "segment-pixel":
        SEGMENT.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id": advertiser_id })

return Response({"Success":"201"})
正如你们所看到的,我对所有服务都做了同样的事情,比如“插入顺序”、“行项目”等,但只有前几行的变化(即“IO”、“LI”、“像素”、“段”),这些基本上是类实例。我只想用一行来替换它,这样只有这个(“IO”、“LI”、“像素”、“段”)名称改变,即

names = {"insertion-order": IO, "line-item": LI, "conversion-pixel": PIXEl ...} 
后来

names[service].modify(id=service_id, data={"state":request_data["state"]}, params={"advertiser_id": advertiser_id })

代替
名称[服务]
我需要IO或LI等动态值。

定义服务名称
插入顺序之间的映射。。。到
IO

service_mapping = {
    'insertion-order': IO,
    'line-item': LI,
    'conversion-pixel': PIXEL,
    'segment-pixel': SEGMENT,
}
并使用映射从服务id获取类实例

checked_ids = request_data["ids"]
for service_id in checked_ids:
    srv = service_mapping[service_id]
    srv.modify(id=service_id,data={"state":request_data["state"]},params={"advertiser_id": advertiser_id })

return Response({"Success":"201"})
注意:您可能需要处理未知服务id的情况

for service_id in checked_ids:
    srv = service_mapping.get(service_id)
    if srv is None:
        # Unknown service_id!
        continue
    srv.modify(id=service_id,data={"state":request_data["state"]},params=