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

打印定义lambda函数的代码

孔飞舟
2023-03-14
问题内容

我希望能够打印lambda函数的定义代码。

如果我通过lambda语法定义此函数的示例:

>>>myfunction = lambda x: x==2
>>>print_code(myfunction)

我想得到以下输出:

x==2

问题答案:

只要将代码保存到源文件中 ,就可以使用检查模块检索对象的源代码。

示例:打开编辑器类型:

myfunction = lambda x: x==2

另存为lamtest.py

打开shell类型的python进入交互式python,输入以下内容:

>>>from lamtest import myfunc
>>>import inspect
>>>inspect.getsource(myfunc)

结果:

'myfunc = lambda x: x==2\n'


 类似资料:
  • 问题内容: 在JavaScript中,可以打印出函数的定义。有没有办法用Python做到这一点? (只是在交互模式下玩,所以我想读取一个没有open()的模块。我只是很好奇。) 问题答案: 如果要导入功能,则可以使用: 这 将 在交互式提示中起作用,但显然仅适用于导入的对象(不适用于交互式提示中定义的对象)。当然,这只有在Python可以找到源代码的情况下才起作用(因此,不能在内置对象,C库,.p

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

  • 当定义一个异步函数时,我通常会选择 我想切换到lambda表达式。我试过了 和 我认为第二个示例不起作用,因为这段代码将尝试将函数结果存储到中 是否可以用lambda表达式定义函数,或者它们只在其他函数中使用?

  • 例子 [root@linux:~]$ gcc -dM -E - < /dev/null #define __DBL_MIN_EXP__ (-1021) #define __FLT_MIN__ 1.17549435e-38F #define __CHAR_BIT__ 8 #define __WCHAR_MAX__ 2147483647 #define __GCC_HAVE_SYNC_COMPARE_

  • Lua 使用关键字 function 定义函数,语法如下: function function_name (arc) -- arc 表示参数列表,函数的参数列表可以为空 -- body end 上面的语法定义了一个全局函数,名为 function_name. 全局函数本质上就是函数类型的值赋给了一个全局变量,即上面的语法等价于 function_name = function (arc)

  • Lua 里面的函数必须放在调用的代码之前,下面的代码是一个常见的错误: -- test.lua 文件 local i = 100 i = add_one(i) function add_one(i) return i + 1 end 我们将得到如下错误: # luajit test.lua luajit: test.lua:2: attempt to call global 'add_o