Python 是否';p';在Django中有特殊意义吗?

Python 是否';p';在Django中有特殊意义吗?,python,django,Python,Django,为什么p和p8在下面的代码中不同 视图函数的开头(在名为“proteinSearch”的Django应用程序的views.py文件中,模型名为“Protein”,字段名为“description”): 在pdb中以交互方式: (Pdb) searchStr u'centr' (Pdb) p8 [<Protein: IPI00657962.1>, <Protein: IPI00479143.2>, <Protein: IPI004770

为什么p和p8在下面的代码中不同

视图函数的开头(在名为“proteinSearch”的Django应用程序的views.py文件中,模型名为“Protein”,字段名为“description”):

在pdb中以交互方式:

    (Pdb) searchStr
    u'centr'
    (Pdb) p8
    [<Protein: IPI00657962.1>, <Protein: IPI00479143.2>, <Protein: IPI00477050.4>, <Protein: IPI00220625.1>,
    95.2>]
    (Pdb) p
    *** SyntaxError: SyntaxError('unexpected EOF while parsing', ('<string>', 0, 0, ''))
(Pdb)searchStr
u'centr'
(Pdb)第8页
[, ,
95.2>]
(Pdb)p
***SyntaxError:SyntaxError('解析时出现意外的EOF',('',0,0',))

当您处于调试模式(pdb或ipdb REPL)时,“p”表示特定功能,即计算表达式表达式

ipdb> x = 1
ipdb> p x
1
ipdb> p x==True
True
ipdb> p x==1
True
在Django中,“p”只表示一个变量

如果要打印“p”变量的值,请尝试

ipdb> p p

:)

我已经学习了教程。我现在意识到他们选择命名变量“p”是令人困惑的,因为pdb中的命令冲突:p=get_object_或_404(Poll,pk=Poll_id)感叹号也可以用在变量前面:!pYou可以通过键入“help”获得pdb命令列表,或者您可以查看pdb文档:我想补充一点,这是您不应该使用单字母变量名的主要原因之一。。。这通常只会导致混乱。非常正确。python中允许使用短变量名的地方只有列表理解和lambda expr。
ipdb> p p