Ami*_*ola 5 python string formatting julia
所以我是 Julia 的新手,并学习了各种字符串格式化方法。主要来自与此类似的网站。
所以我在 Python 中经常使用 f 字符串,而不是 .format() 的忠实粉丝。所以我想知道自从有人创建了 Formatting.jl 包来在 Julia 中引入 .format() 之类的功能,是否有任何正在进行的或有用的包对 f-strings 做同样的事情?现在我也用谷歌搜索了一下,但没有找到任何东西。
我的主要问题是我想复制这种行为:
a = 10
b = 20
print(f'The multiplication is = {a * b}')
如果有人想知道什么是 f 字符串,请参阅此。
是的,可以使用标准的 Julia 字符串:
x = "World!"
y = 42
greeting = "Hello $x, $(y^2) !" # gives "Hello World!, 1764 !"
另见此处:
https://docs.julialang.org/en/v1/manual/strings/#string-interpolation
编辑:上面评论中的例子是
j = 10; b = 20
println("The numbers and their square are $j, $b and $(j^2), $(b^2)")
有多个包,其中最不为人所知但我最喜欢的是PyFormattedStrings.jl。
比较:
| 包裹 | 句法 | 
|---|---|
| PyFormattedStrings.jl | f"Our yield is {harvest(crop):.3G} kg." | 
| FMt.jl | f"Our yield is {$(harvest(crop)):.3G} kg." | 
| 格式化.jl | fmt("Our yield is {:.3f} kg.", harvest(crop)) | 
(请注意,格式化不支持g/ G)。
PyFormattedStrings.jl 使用printf语法,因此右对齐是通过 , 完成的{var:20g},而不是{var:>20g}像 Python 中那样。Fmt.jl确实使用 Python 语法。这两个包都不支持f"{4+4=}"Python 3.8 的语法。(尽管朱莉娅有@show)。