Python中含print的函数在print中调用输出None的问题求助
问题分析与解决
你的代码出现该输出的原因很明确:
pencil()函数内部只有print("pencil")语句,未定义返回值,Python中没有return语句的函数默认返回None。- 执行
print("A", pencil())时,会先调用pencil(),触发函数内部的print输出第一行pencil;接着函数返回的None会被外层的print接收,因此第二行输出A None。
解决方案
根据需求,有两种常见处理方式:
方式1:让函数返回字符串(推荐)
如果希望输出为A pencil,修改函数使其返回目标字符串而非直接打印:
def pencil(): return "pencil" print("A", pencil())
运行后输出:
A pencil
方式2:分开执行打印逻辑
如果需要保留函数内部的打印操作,同时避免输出None,可分开调用函数和打印语句:
def pencil(): print("pencil") pencil() print("A")
运行后输出:
pencil A
若要让内容在同一行,可调整函数的print参数:
def pencil(): print("pencil", end=" ") pencil() print("A")
运行后输出:
pencil A
内容的提问来源于stack exchange,提问作者T2D
相关产品推荐
相关产品推荐

