【发布时间】:2014-01-16 14:05:58
【问题描述】:
我试图对 PEP8 编码风格非常严格,但我没有回答这个问题。这是相同代码的两个版本,一个使用临时变量,每个变量只使用一次,另一个版本不使用临时变量,看起来更像函数式语言中常见的。
对我来说,函数式看起来更漂亮,但我不确定是否有任何关于我应该将多少个函数链接在一起的指南。
带有临时变量的版本:
class EmailConfirmation():
@receiver(email_confirmed)
def confirmed(sender, **kwargs):
email = kwargs['email_address'].email
keystone_id = User.objects.get_by_natural_key(email).keystone_id
client = Client(token=settings.KEYSTONE_TOKEN,
endpoint=settings.KEYSTONE_URL)
client.users.update(keystone_id, enabled=True)
没有临时变量的版本:
class EmailConfirmation():
@receiver(email_confirmed)
def confirmed(sender, **kwargs):
Client(
token=settings.KEYSTONE_TOKEN,
endpoint=settings.KEYSTONE_URL
).users.update(
User.objects.get_by_natural_key(
kwargs['email_address'].email
).keystone_id, enabled=True
)
是否有任何指南来定义推荐这两个版本中的哪一个,或者两者都可以?
【问题讨论】:
-
我只会直接传递
email,而不是传递整个对象。
标签: python coding-style pep8