有人可以阐明这个python声明吗:返回{"%s__within" %field_name:poly}?

时间:2016-04-27 15:44:49

标签: python django geodjango

整个功能:

def build_bbox_filter(srs, bbox_val, field_name):
  poly = poly_from_bbox(bbox_val) 
  poly.set_srid(srs.srid)
  return {"%s__within" % field_name: poly}

2 个答案:

答案 0 :(得分:2)

如果将最后一行分成两行,您可能会发现更容易理解:

key = "%s__within" % field_name
return {key: poly}

因此,例如,如果field_name'my_field',则该函数将返回字典:

{'my_field__within': <poly>}

答案 1 :(得分:0)

该函数返回一个字典,其中包含通过字符串替换创建的单个键。密钥将为"[value_of_field_name]__witihin",值为poly的值,无论是什么。例如:

def return_dictionary(field_name, poly):

    return {"%s__within" % field_name: poly}

return_dictionary("name_of_my_field", "value_of_poly")

输出:

>>> def return_dictionary(field_name, poly):
...     return {"%s__within" % field_name: poly}
... 
>>> return_dictionary("name_of_my_field", "value_of_poly")
{'name_of_my_field__within': 'value_of_poly'}
>>>