ipython/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笔记本电脑中。 以前有没有人看到过,或者有人知道这
;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', ')']