运行代码时出现NoneType问题:为何此代码返回None?
为什么你的代码会返回None?
首先,咱们来看你的函数html_list:它里面只有print语句,没有任何return语句。在Python里,如果一个函数没有显式用return返回值,它会默认返回None——这就是你看到的问题根源。
你最后一行写的是print(html_list(bam)),这里html_list(bam)会执行函数里的所有print操作(输出<ul>、<li>内容和</ul>),然后函数返回None,接着print会把这个None也打印出来。
怎么解决?
分两种情况处理:
- 如果你只是想输出HTML列表的内容,不需要获取返回值,直接调用函数就行:
bam = ['boom','bust'] html_list(bam) # 直接调用,不会额外打印None - 如果你希望函数返回拼接好的HTML字符串(而不是直接打印),那需要修改函数,把内容拼接起来然后return:
def html_list(inputs_list): result = "<ul>\n" for item in inputs_list: result += f"<li>{item}</li>\n" result += "</ul>" return result bam = ['boom','bust'] print(html_list(bam)) # 现在会打印完整的HTML字符串,不会有None
这样就能解决你遇到的NoneType问题啦~
内容的提问来源于stack exchange,提问作者Richard Pak
相关产品推荐
相关产品推荐

