gpt4 book ai didi

ipython - ipython 变量扩展如何工作?

转载 作者:行者123 更新时间:2023-12-03 09:27:46 28 4
gpt4 key购买 nike

我不明白第四个和第六个提示中的 ${} 正在做什么,并且我找不到任何关于此的文档,Python for Unix and Linux 一书系统管理员有一个类似于第六个提示中的示例,其中变量不仅前面加上$,而且还包含在{}中,以便将字符串嵌入到另一个字符串中,如果我引用完整的表达式就可以了,但是 [4 & 6] 中发生了什么?:

In [1]: test = 'TEST TEST TEST!!!'                                                                                          

In [2]: !echo test
test

In [3]: !echo $test
TEST TEST TEST!!!

In [4]: !echo ${test} # Don't understand this one.
TEST TEST!!!

In [5]: !echo {test}
TEST TEST TEST!!!

In [6]: !echo ${test}TEST!!! # Nor this one either.
TEST TEST!!!TEST!!!

In [7]: !echo '${test}TEST!!!'
$TEST TEST TEST!!!TEST!!!

最佳答案

In[4], 拼写错误, ) 而不是 } ,否则我会猜测在执行 ${test} 时, {test} 被展开为 TEST TEST TEST,导致 $TEST TEST TEST ,然后再次展开 $TEST (我想是在外壳中)。

我这么说是因为:

In [1]: test = 'PATH TEST TEST!!!'

In [2]: !echo "${test}"
/usr/local/bin:/usr/local/share/pyt.../.rvm/bin TEST TEST!!!

但你必须小心,IPython 会进行自己的变量扩展,$foo{foo}(无美元符号)扩展为 Python$FOO 或 ${FOO}(美元 AND 括号)。

在 IPython 中,使用 ! 时,必须使用双美元 $$ 来表示显式美元。但不知道如何转义括号。

关于ipython - ipython 变量扩展如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com