当前位置: 首页 > 面试题库 >

Python可以打印函数定义吗?

司空镜
2023-03-14
问题内容

在JavaScript中,可以打印出函数的定义。有没有办法用Python做到这一点?

(只是在交互模式下玩,所以我想读取一个没有open()的模块。我只是很好奇。)


问题答案:

如果要导入功能,则可以使用inspect.getsource

>>> import re
>>> import inspect
>>> print inspect.getsource(re.compile)
def compile(pattern, flags=0):
    "Compile a regular expression pattern, returning a pattern object."
    return _compile(pattern, flags)


在交互式提示中起作用,但显然仅适用于导入的对象(不适用于交互式提示中定义的对象)。当然,这只有在Python可以找到源代码的情况下才起作用(因此,不能在内置对象,C库,.pyc文件等上找到)



 类似资料:
  • 问题内容: 我刚开始学习Python,目前正在读一本教我的书,在这本书中,一个函数与我在下面编写的函数一样,会打印第一个函数中定义的实际文本。我运行我的脚本说: 作为输出。我究竟做错了什么?我安装了错误的Python或其他东西吗?我下载了3.3.0版本 这是我的代码: 问题答案: 您的函数已经打印了文本,您不需要打印函数。只是称呼他们(别忘了括号)。

  • 问题内容: 我希望能够打印lambda函数的定义代码。 如果我通过lambda语法定义此函数的示例: 我想得到以下输出: 问题答案: 只要将代码保存到源文件中 ,就可以使用检查模块检索对象的源代码。 示例:打开编辑器类型: 另存为lamtest.py 打开shell类型的python进入交互式python,输入以下内容: 结果:

  • 问题内容: 有什么方法可以将输出发送到打印机而不是Python屏幕吗?还是有可以从python内调用以打印文件的服务例程?也许有一个我可以导入的模块可以执行此操作? 问题答案: Python不会(除非您正在使用图形库)将内容发送到“屏幕”。它写入stdout和stderr,就Python而言,它们只是看起来像文件的东西。 让python将这些流定向到看起来像文件的其他任何东西都非常简单。例如,请参

  • 问题内容: 我有一个Python脚本正在使用我的雇主提供的某些封闭式Python函数(即我无法编辑这些函数)。当我调用这些函数时,它们会将输出打印到我想抑制的Linux终端上。我试过通过重定向标准输出/标准错误; 但这无法捕获输出。我认为我通过Python调用的函数(上面的rogue_function())实际上是经过编译的C代码的包装程序,它们实际上是在进行打印。 有谁知道一种方法可以对某个函数

  • 问题内容: 我有以下练习: 如果是工作日,则参数weekday为True,如果我们在假期,则参数Vacation为True。如果不是工作日,或者我们正在休假,我们会入睡。如果我们入睡,则返回True。 这是我所做的,但是第二个打印功能仅打印。 输出: 问题答案: 除非明确指示否则python中的函数会返回。 在上面的函数中,您没有考虑工作日为的情况。解释器到达函数的末尾而没有读取return语句(

  • 本文向大家介绍clojure 定义可变函数,包括了clojure 定义可变函数的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用其参数列表中的符号&将Clojure函数定义为采用任意数量的参数。所有剩余的参数将按顺序收集。 致电: