从函数返回布尔值的最佳实践——硬编码或从变量中返回。

4

如何从函数中返回布尔值的最佳实践:

  1. 硬编码
  2. 作为变量

代码 1:

    (status, response) = self.generate_pdf(html_data)
    if not status:
        return (False, response)

代码 2:

    (status, response) = self.generate_pdf(html_data)
    if not status:
        return (status, response)

我认为返回硬编码值(FalseTrue)是好的。

[更多细节] 我总是从每个函数返回两个参数:statusresponse。一个status是布尔对象,即其值为TrueFalse。一个response是字典对象。

因为status有一个False的值,即status是指向False的地址。

>>> id(False)
493227104
>>> status = False
>>> id(status')
493227104 

那么返回引用变量名称是良好的实践还是实际的布尔值?


我认为这取决于“status”可以采用的值。需要更多关于你的类的信息。 - DocDriven
1个回答

7
这个问题很主观,但我想指出两种方法之间的区别:如果status是任何false-y(实际上的False0None等),那么if not status条件将发生。第一种方法总是返回False。第二种方法将保留导致条件求值的原始false-y。哪种方法更合适取决于你的程序和一些在问题中未提供的上下文。

谢谢,我同意。在问题中添加了一些细节。因此,返回引用变量名称是良好的实践还是实际的布尔值? - Vivek Sable

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接