Java喜欢条件声明?a:b in python [duplicate]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

有没有办法让print_str功能更简洁,成为一条线?

   def print_str(str):
        if len(str)>0:
            print(str + ", "+ "hi")
        else:
            print("hi")

   if __name__ == '__main__':
        print_str(("John"))
        print_str((""))

在java中我们可以做类似的事情

print(str + (str.equals("") ? "" : ", ") + "hi");
python python-3.x ternary
1个回答
0
投票

是的,你可以用python在一行if else语句中做类似的事情。在您的示例中,它将是这样的:

print(str + ("" if str == "" else ", ") + "hi")

格式为X if condition else Y,如果条件为真,则X为结果,否则为Y

© www.soinside.com 2019 - 2024. All rights reserved.