小编lco*_*ral的帖子

Python使用getattr来调用具有可变参数的函数

我正在使用getattr根据变量调用不同的函数.

我做这样的事情:

getattr(foo, bar) ()
Run Code Online (Sandbox Code Playgroud)

这工作,调用函数如foo.bar()

我的问题是我有'bar'功能,我想用不同的参数调用它.例如:

def f1() :
  pass

def f2(param1) :
  pass

def f3(param1,param2) :
  pass
Run Code Online (Sandbox Code Playgroud)

所以'bar'可以是f1,f2或f3

我试过这个:假设params是一个包含'bar'函数所需的所有参数的列表

getattr(foo, bar) (for p in params :)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个"干净"的解决方案,无需在params变量上观察长度

python variables parameters function getattr

20
推荐指数
2
解决办法
2万
查看次数

如何在python shell中转义Intro

我通常使用python shell来测试小东西,而不需要创建一个新的.py文件.

我想测试类似的东西:

>>> def a : 
     pass
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么去介绍.我试过同样的路线

>>> def a: pass
Run Code Online (Sandbox Code Playgroud)

但是对于我想的缩进,会抛出语法错误

python

0
推荐指数
1
解决办法
96
查看次数

标签 统计

python ×2

function ×1

getattr ×1

parameters ×1

variables ×1