【发布时间】:2023-04-04 06:33:01
【问题描述】:
我正在尝试创建一个带参数返回自身的函数。
Def a (x,y):
*code*
Return a(x,y)
当我尝试运行它时会返回一个错误。
>>> a(1,2)
RecursionError: maximum recursion depth exceeded
我想要的是
>>> a(1,2)
a(1,2)
有没有办法返回带参数的函数?
我知道可以做,但我不知道怎么做
>>> datetime.time(0,0)
Datetime.time(0,0)
编辑: 最好我不想导入任何模块
【问题讨论】:
-
您收到错误是因为该函数一直在调用自身,直到最大递归深度(以防止堆栈溢出)。你为什么要这样做?
-
你的意思是
return 'a({x},{y})'.format(x=x, y=y)...? -
你想做的是没有基本条件的递归?请检查这是否正是您想要做的。
-
这看起来更像是类
__repr__的输出 -
正如@wjandrea 所说,您似乎在寻找来自类的
__repr__,而不是函数。
标签: python python-3.x function pythonista