Python:Pep8 E128缩进错误。。。这个怎么可以用样式来表示呢?
我有以下几句话:Python:Pep8 E128缩进错误。。。这个怎么可以用样式来表示呢?,python,coding-style,formatting,pep8,Python,Coding Style,Formatting,Pep8,我有以下几句话: return render_to_response('foo/page.html', { 'situations': situations, 'active': active_req, }, context_instance=RequestContext(request)) 目前,使用PEP8脚本,第二行出现了“E128:缩进下的续行用于视觉缩进”错误 我尝试了很多不同的格
return render_to_response('foo/page.html',
{
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
目前,使用PEP8脚本,第二行出现了“E128:缩进下的续行用于视觉缩进”错误
我尝试了很多不同的格式设置方法,唯一能让PEP8停止抱怨的方法是:
return render_to_response('foo/page.html', {
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
但这看起来像垃圾
建议?E124、E126和E128似乎是一个巨大的痛苦
我不介意在第一行有
{
的解决方案(或者它自己),但我希望有一个解决方案,}、
和上下文\u实例……
处于相同的缩进级别 我很确定,它希望您将所有内容缩进到开始部分(如果您需要一个参数),即
否则,
return render_to_response(
'foo/page.html',
{
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
也应该是合法的
或者类似的。请参阅有关正确缩进实践的说明
以下是本规范中有关过往流浪者的示例:
你曾经试过吗
你可以这样做
@render_to('foo/page.html')
def bar(request):
return {'situations': situations,
'active': active_req,}
我认为这更简洁,可以帮助您使用PEP8样式…问题是所有参数都应该缩进到相同的级别。包括初始函数调用行上的任何参数 因此,虽然您可以这样修复它:
return render_to_response('foo/page.html',
{
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
…这通常只会使您违反80列规则,而且即使pep8
没有抱怨,也肯定会使您的代码更难看。您可能想要的是:
return render_to_response(
'foo/page.html',
{
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
当然,你也可以打破你那巨大的表情:
d = {
'situations': situations,
'active': active_req,
}
context = RequestContext(request)
return render_to_response('foo/page.html', d, context_instance=context)
我没有,但那看起来很棒。谢谢你的提示!你有没有理由把这一切都变成一句话,一个巨大的表达?将其拆分不会使其变得更长,这意味着您甚至不需要担心任何复杂的样式规则,而且它可能更可读,更易于启动调试。它不希望您将所有内容缩进到开始部分。如果这是真的,第二个就不行了。正如我在回答中所解释的那样,它只是希望您将所有参数缩进到同一级别。@abarnert我的意思是在他的特定情况下——他的第一个参数在“开始参数”处。如果他想在那里有一个参数,它确实需要与开始分隔符对齐。根据政治公众人物8:继续行应该使用Python的隐式行垂直对齐包装的元素,将括号、括号和大括号连接在一起,或者使用悬挂缩进。使用悬挂缩进时,应考虑以下因素:;第一行上不应该有参数,应该使用进一步的缩进来清楚地区分自己是一个延续行。“好吧,有了额外的澄清,没关系。它只是有点让人困惑你最初的方式。政治公众人物的例子肯定很有帮助,特别是因为第二个和最后一个例子完全涵盖了OP的情况。@abarnert是的,你说得对,我修正了它,因为你让我意识到它不清楚。谢谢谢谢你详尽的回答和解释。完全有道理。
return render_to_response(
'foo/page.html',
{
'situations': situations,
'active': active_req,
},
context_instance=RequestContext(request))
d = {
'situations': situations,
'active': active_req,
}
context = RequestContext(request)
return render_to_response('foo/page.html', d, context_instance=context)