Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是Python空白,它是如何工作的?_Python_Whitespace - Fatal编程技术网

什么是Python空白,它是如何工作的?

什么是Python空白,它是如何工作的?,python,whitespace,Python,Whitespace,我搜索谷歌和这个网站已经有一段时间了,但我似乎找不到关于这个问题的直接答案 Python中的空白是什么?我知道它与每行的缩进有关,但我不确定如何使用它。它是如何工作的?空白用于表示块。在其他语言中,花括号({和})很常见。缩进时,它将成为上一行的子行。除了缩进之外,父级后面还有一个冒号 im_a_parent: im_a_child: im_a_grandchild im_another_child: im_another_grand_child

我搜索谷歌和这个网站已经有一段时间了,但我似乎找不到关于这个问题的直接答案


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

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

im_a_parent:
    im_a_child:
        im_a_grandchild
    im_another_child:
        im_another_grand_child

在我的头顶上,
def
if
elif
else
try
除外
最后
while
,以及
所有起始块。要结束一个块,您需要简单的outdent,并且您将有兄弟姐妹。在上面的
im_a_child
im_另一个孩子
是兄弟姐妹。

空白仅表示用于空格的字符,并具有“空”表示。在python的上下文中,它意味着制表符和空格(它可能还包括奇异的unicode空格,但不要使用它们)。最终参考资料如下:

我不知道该如何使用它

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

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

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

print x
在此代码中,前两个
print
语句位于
for
语句的“内部”,因为它们的缩进比包含
for的行多。第三个
打印
在外部,因为它的缩进小于上一行(非空白)

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

最后,某些语句,如
lambda
以冒号为特征,但不能将多行块作为主体

something
{
 something1
 something2
}
something3
用Python

Something
    something1
    something2
something3

它充当卷曲括号。我们必须在整个程序中保持空格的数量一致

例1:

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

main()
结果:

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

例2:

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

main()
结果:

打印第二行
我们的主要职能是


这里,在第1个程序中,由于两个语句都有相等数量的空格,因此这两个语句都属于主函数,而在第2个程序中,第1行稍后打印,因为主函数在第2行注释之后调用-第2行没有空格,因此它独立于主函数。

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

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

例如:

def示例()
打印“姓名”
打印“我的名字”
示例()

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

看看“这类”问题是什么?“简单”的?这个问题没什么问题。@FogleBird基本语言问题通常最好在别处解决。我在常见问题解答中没有看到这样的规则。其他语言大多会忽略空白,Python则不会。阅读并阅读官方文件。-1这是向后的。特定的构造引入了块,因此必须紧跟一个缩进标记(除非整个主体在同一行上)。不要忘记
try
除了
最后
您不能完全阅读mgilson的注释。它是除
之外的
,而不是
捕获
。冒着引发火焰之战的风险,坚持使用空格——如PEP-8中所述,其中4个空格。。。(如果你对这条评论有异议,因为你喜欢标签,请与PEP-8的作者和支持上述文档的python社区讨论——他们是为python创建此约定的人)@mgilson我并不喜欢标签,但使用所有标签不会引起心痛,除了那些不愿意看到任何代码不严格符合pep-8的人。我同意这一点。当试图与其他设置了符合PEP-8的文本编辑器的人共享时,就会出现问题。然后他们试图添加到你的代码中,并得到你在文章中引用的所有时髦错误,因为点击TAB会自动插入4个空格。但是,正如您所说,如果您的文件是真正的所有选项卡,并且无论哪种方式它都是有效的python(只要您是一致的),那么这不会导致任何问题。