Python拾珍:1. 条件表达式

源代码 1:

if x > 0:
    y = math.log(x)
else:
    y = float('nan')

源代码 1 的条件表达式:

y = math.log(x) if x > 0 else float('nan')

源代码 2:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

源代码 2 的条件表达式:

def factorial(n):
    return 1 if n == 0 else n * factorial(n - 1)

条件表达式的另一个用途是处理可选参数。例如:

def __init__(self, name, contents=None):
    self.name = name
    if contents == None:
        contents = []
    self.pouch_contents = contents

对应的条件表达式方式为:

def __init__(self, name, contents=None):
    self.name = name
    self.pouch_contents = [] if contents == None else contents

本文参考自《像计算机科学家一样思考Python (第2版)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容