2Cu*_*bed 2 python string format if-statement julia
在Python中,if
可能会在以下情况下使用可选的字符串格式.
bar = 3
"{n} bar{s}".format(n=bar, s='s' if bar != 1 else '')
# "3 bars"
bar = 1
"{n} bar{s}".format(n=bar, s='s' if bar != 1 else '')
# "1 bar"
Run Code Online (Sandbox Code Playgroud)
Julia使用美元符号进行字符串格式化.
foo = 3
"foo $foo" # "foo 3"
Run Code Online (Sandbox Code Playgroud)
是否可以使用Julia简单地镜像Python代码的功能?
是.该$
插值方法适用于在括号中的表达式.在这种情况下,$bar bar$(bar != 1 ? 's' : "")
相当于Python的结果.
正如@Oxinabox所提到的,Python的内联if
对应于Julia的三元运算符.在Julia中,三元运算符a ? b : c
是一个方便的捷径if a b ; else c ; end
.注意这意味着1==2 ? foo() : bar()
不评估foo()
.