ipython/ipython笔记本中函数调用前使用分号的奇怪行为

ipython/ipython笔记本中函数调用前使用分号的奇怪行为,python,ipython,ipython-notebook,Python,Ipython,Ipython Notebook,我在使用ipython笔记本电脑时偶然发现了一些奇怪的行为,我想知道它的目的是什么。如果在函数调用前输入分号,则会将函数应用于反映函数名后所有代码的字符串。例如,如果我做了;list('ab')我得到list('ab')”的结果: In [138]: ;list('ab') Out[138]: ['(', "'", 'a', 'b', "'", ')'] 我正在使用jupyter和ipython4。它发生在ipython以及ipython笔记本电脑中。 以前有没有人看到过,或者有人知道这

我在使用ipython笔记本电脑时偶然发现了一些奇怪的行为,我想知道它的目的是什么。如果在函数调用前输入分号,则会将函数应用于反映函数名后所有代码的字符串。例如,如果我做了
;list('ab')
我得到
list('ab')”
的结果:

In [138]:    ;list('ab')
Out[138]:
['(', "'", 'a', 'b', "'", ')']
我正在使用
jupyter
ipython4
。它发生在
ipython
以及
ipython笔记本电脑中。

以前有没有人看到过,或者有人知道这是不是有意的,如果是,为什么

这是一个用于自动引用函数参数的命令:

从文档中:

您可以使用, 或作为行的第一个字符。例如:

如果你用“;”整个参数作为单个字符串引用,而 “,”在空白处拆分:

请注意,“,”或“;”必须是行中的第一个字符!这 不起作用:

在您的例子中,它引用了所有字符,包括

您可以在此处获得类似的输出,但没有单引号:

In [279]:
;list(ab)

Out[279]:
['(', 'a', 'b', ')']
In [2]: ,my_function a b c    # becomes my_function("a","b","c")

In [3]: ;my_function a b c    # becomes my_function("a b c")
In [4]: x = ,my_function /home/me # syntax error
In [279]:
;list(ab)

Out[279]:
['(', 'a', 'b', ')']