当前位置:  开发笔记 > 编程语言 > 正文

在ipython / ipython Notebook中在函数调用之前用分号表示奇怪的行为

如何解决《在ipython/ipythonNotebook中在函数调用之前用分号表示奇怪的行为》经验,为你挑选了1个好方法。

我偶然发现了一些奇怪的行为,ipython-notebook并想知道目的是什么。如果在函数调用之前输入分号,则会得到将函数应用到反映函数名称后的所有代码的字符串的结果。例如,如果我;list('ab')得到的结果是list("('ab')")

In [138]:    ;list('ab')
Out[138]:
['(', "'", 'a', 'b', "'", ')']

我使用的是jupyteripython 4。它发生在ipython和中ipython notebook。有没有人看过这个,或者有没有人知道它是否是预期的,如果是,为什么?



1> EdChum - Rei..:

这是用于自动引用函数args的命令:http : //ipython.readthedocs.org/en/latest/interactive/reference.html#automatic-parentheses-and-quotes

从文档:

您可以使用或来强制自动引用函数的参数。作为一行的第一个字符。例如:

In [1]: ,my_function /home/me  # becomes my_function("/home/me")

如果使用“;” 整个参数用单个字符串引用,而','在空格处分割:

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', ')']

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有