Python函数问题:调用无参test()未输出预期内容,求排查错误
问题描述
需求:定义一个函数,当函数的参数为空时输出指定内容。
用户编写的代码:
def test(name): if name == None: return print("The Args is empty") else: return print('The Args is ', name, ', and TNX.')
期望效果:调用test()时,输出内容为:
The Args is empty
请问我的代码错误在哪里?
错误分析与修正
你的代码存在两个关键问题:
- 参数未设置默认值:当前
test函数强制要求传入name参数,直接调用test()会触发参数缺失的报错,根本走不到判断name == None的逻辑。 - 冗余的return语句:
print()函数本身无返回值(默认返回None),这里用return print(...)属于多余操作,直接执行print()即可。
修正后的代码如下:
def test(name=None): if name is None: print("The Args is empty") else: print('The Args is ', name, ', and TNX.')
此时调用test()会输出你期望的内容,传入参数(如test("Bob"))也能正常执行对应分支逻辑。
内容的提问来源于stack exchange,提问作者Jsmoka
相关产品推荐
相关产品推荐

