什么是Python Whitespace以及它是如何工作的?

时间:2012-12-14 18:42:07

标签: python whitespace

我一直在谷歌和这个网站上搜索一段时间,但我似乎无法找到关于这个问题的直接答案。

Python中的空白是什么?我知道这与每行缩进有关,但我不确定如何使用它。它是如何工作的?

4 个答案:

答案 0 :(得分:10)

空格用于表示块。在其他语言中,大括号({})很常见。缩进时,它将成为上一行的子项。除了缩进之外,父母还有一个冒号跟随它。

im_a_parent:
    im_a_child:
        im_a_grandchild
    im_another_child:
        im_another_grand_child

离开我的头顶,defifelifelsetryexcept,{{1} },finallywithforwhile所有起始块。为了结束一个块,你简单的突然出现,你将有兄弟姐妹。上面的classim_a_child是兄弟姐妹。

答案 1 :(得分:7)

空格仅表示用于间距的字符,并具有“空”表示。在python的上下文中,它表示制表符和空格(它可能还包括异国情调的unicode空格,但不使用它们)。最终的参考文献在这里:http://docs.python.org/2/reference/lexical_analysis.html#indentation

  

我不确定如何使用它。

将它放在要缩进的行的前面。如果你混合空格和标签,你可能会看到时髦的结果,所以坚持使用其中一个。 (python社区通常遵循PEP8样式,它规定了四个空格的缩进)。

您需要在每个冒号后创建一个新的缩进级别:

for x in range(0, 50):
    print x
    print 2*x

print x

在此代码中,前两个print语句位于for语句主体的“内部”,因为它们的缩进比包含for的行更多。第三个print在外面,因为它比前一个(非空白)线缩进了。

如果您不一致地缩进/取消,则会出现缩进错误。此外,所有复合语句(即具有冒号的语句)都可以在同一行上提供正文,因此不需要缩进,但正文必须由单个语句组成。

最后,某些语句(如lambda)以冒号为特色,但不能将多行块作为正文。

答案 2 :(得分:4)

它充当了大括号。我们必须在程序中保持空白的数量一致。

示例1:

def main():
     print "we are in main function"
     print "print 2nd line"

main()

结果:

  

我们处于主要功能中   打印第2行

示例2:

def main():
    print "we are in main function"
print "print 2nd line"

main()

结果:

  

打印第2行
  我们在主要职能

这里,在第一个程序中,两个语句都属于main函数,因为两个空格都有相同数量的空格,而在第二个程序中,第一行打印后来因为在第二行之后调用main函数注 - 第二行没有空格,因此它与主函数无关。

答案 3 :(得分:0)

每种编程语言都有自己的构造代码的方式 无论何时编写代码块,都必须以一种让每个人都能理解的方式进行组织。

通常用于条件和类以及定义定义 它代表父母,子女和孙子女。进一步。

示例:

def example()
    print "name"
    print "my name"
example()

在这里你可以说example()是父母而其他人是孩子。