Có bất kỳ bất lợi, cảnh báo hoặc cảnh báo thực hành xấu về việc sử dụng mẫu sau không?Sử dụng phương thức locals() và format() cho chuỗi: có bất kỳ cảnh báo nào không?
def buildString(user, name = 'john', age=22):
userId = user.getUserId()
return "Name: {name}, age: {age}, userid:{userId}".format(**locals())
Tôi đã có một thế hệ mã chuỗi rất lặp đi lặp lại để viết và được cám dỗ để sử dụng này, nhưng một cái gì đó về việc sử dụng locals()
khiến tôi khó chịu. Có bất kỳ nguy cơ về hành vi bất ngờ trong việc này không?
Edit: bối cảnh
tôi thấy mình liên tục viết những thứ như:
"{name} {age} {userId} {etc}...".format(name=name, age=age, userId=userId, etc=etc)
Tôi không thấy bất cứ điều gì khủng khiếp sai với nó ... – mgilson
Bí quyết tuyệt vời thực sự! –
Liên quan chặt chẽ đến http://stackoverflow.com/q/1550479/125507 – endolith