因此,有一个函数采用这种形式的各种属性:
obj.foo(text="one more string", url="127.0.0.1")
等等。据我了解,它只是 **args - 即 接受字典参数。如何从另一个函数返回此函数的结果?我是怎么做的:
def MyFunc():
return {text:"my text", url:"any url"}
obj.foo(myFunc())
我得到了很多错误。尝试传递一个前面带有包装 (*) 的函数,尝试在大括号内的引号中获取参数的名称。
# создание объекта
btn = BtnUrl(text="Goto", url="goo.gl")
# его класс
class BtnUrl:
def __init__(self, **args):
self.text = args['text']
self.url = args['url']
def Cook(self):
return {'text':self.text, 'url':self.url}
# сама передача в виде аргумента
types.InlineKeyboardButton(**btn.Cook())
这是所有有问题的代码
据我了解,问题归结为将一个函数中定义的变量字典作为参数传递给另一个函数?在这种情况下,您需要处理变量的范围。这
locals()
将有助于:我们得到:
更新
在出口处:
或者以不同的方式发送:
结果是一样的: