什么是TypeError: 'NoneType'对象是不可迭代的意思?例子:
for row in data: # Gives TypeError!
print(row)
什么是TypeError: 'NoneType'对象是不可迭代的意思?例子:
for row in data: # Gives TypeError!
print(row)
当前回答
它意味着data为None,这不是一个可迭代对象。添加or[]*可以防止异常并且不打印任何东西:
for row in data or []: # no more TypeError!
print(row)
*归功于先前的一些评论;请注意,引发异常也可能是一种预期的行为和/或数据设置不当的指示。
其他回答
这意味着data的值为None。
对我来说,这就像是我戴上了Groovy的帽子,而不是Python 3的帽子。
在def函数末尾忘记return关键字。
已经有几个月没有认真地编写Python 3了。正在考虑在例程中计算的最后一个语句是按照Groovy(或Rust)的方式返回的。
进行了几次迭代,查看堆栈跟踪,插入try:…except TypeError:…块调试/步进代码以找出错误所在。
该消息的解决方案当然没有使错误跳出来。
因为使用for循环的结果只是一个值,而不是一组值
pola.py
@app.route("/search")
def search():
title='search'
search_name = request.form.get('search')
search_item = User.query.filter_by(id=search_name).first()
return render_template('search.html', title=title, search_item=search_item )
search.html(错误的)
{% for p in search %}
{{ p }}
search.html(正确)
<td>{{ search_item }}</td>
表示data的值为None。
我在数据库里对熊猫犯了这个错误。
此错误的解决方案是在集群中安装库 在这里输入图像描述