【发布时间】:2021-02-22 02:30:21
【问题描述】:
我正在编写一个错误类(为清楚起见,省略了类的内容)。当使用错误参数调用它时,它需要能够发出错误消息。我使用Msg() 函数来保存用于处理消息的所有机制(例如,确定消息是否严重到导致终止并保持错误计数)。
def Msg(level, text)
print('level' + '-' + text)
if level == 'unknown':
int_err(text)
# ...
def info(text)
# ...
Msg('info', text)
def warn(text)
# ...
Msg('warn', text)
# . . .
def int_err(text)
Msg('internal error', text)
# ...
info('informational')
warn('warning')
Msg('unknown', 'erroneous call')
这会失败,因为从Msg() 调用它时未定义int_err()。如果我将def int_err() 移动到def Msg() 上方,那么从int_err() 调用时Msg() 未定义。
【问题讨论】:
标签: python-3.x function circular-reference