这几天遇到的问题

http://img.mukewang.com/5704c6570001bdd804130566.jpg代码什么时候需要缩进呢?如图从print才开始缩进的,为什么前面的代码不缩进呢?还有为什么不要用tap呢?另外print语句前的 ··· 有什么作用呢?为什么有一行只有 ··· 呢?

小王同学2015
浏览 1418回答 3
3回答

清波

我就不按照 这个课程中的课件讲了,跟着题主的疑问一个个展开,尽量讲的详细,以供 猿问Python去的后来者参考, 如果讲的不对,请诸位在下面指正,我改正。代码什么时候需要缩进呢?## 还是在Python 代码格式中 用注释的形式解答。 ## 什么时候需要缩进呢, 简单来说 前面一句的最后一个字符是 冒号的时候,需要缩进,那什么语句最后是冒号呢: if a>b: elif b>c else: for i in range(10): while a>b: def check_new(arg): class Cookbook(Object): ## 等等这些吧, 他们都是可以包含自己的代码块的,也就是 需要缩进的部分。如图从print才开始缩进的,为什么前面的代码不缩进呢?## Python 的缩进是 有层级的, 前面的语句并不是属于 某些语句的 子语句或者说代码块,所以是不需要缩进的,  ## 而前两个 print 则属于 if 语句的子语句, 因为我们想要的逻辑就是 符合 if 语句后面的条件 才print , 所以 ## 需要 缩进到 if 语句里面。还有为什么不要用tap(tab)呢?## 题主应该说的是tab 吧, 好多Python 入门课程 都不建议用tab 缩进, 这个说法当然是正确的, 但是现在几乎所有的 ## IDE 或者 文本编辑器, 在写Python 是 都会将 tab 当做 特定数量的空格,一般是四个。 也就是说我们输入tab和输 ## 入四个空格是一样的,所以一般情况下 都是可以使用tab 的。另外print语句前的 ··· 有什么作用呢?## print 语句前面的... 只是在课件 表示缩进的标志, 没有其他意义。 题主在自己写代码是,不需要这些点。为什么有一行只有 ··· 呢?## 只有一行有 ... 是说明if 语句及其包含的代码块 跟最下面的print 之间多了个空行, 因为在shell 里面 不加空行 ## 的话,会认为 最后面的print 还在 if 语句的代码块中, 就会报缩进错误。

yebo

两行print表示如果满足if后面的条件才执行,这两行是一个代码块。如果if后面的条件不满足, 就直接跳过这两句print,不会输出。不用tab是因为用空格的话任何人用任何编辑器查看代码都是对齐的,包括网页上查看(比如在GitHub上看代码)。很多用tab的代码,在网页上查看对齐就乱了。。不过只要不混用其实问题不大。。那个...只有在python交互环境下才有,就是告诉你你进入if条件或者for循环或者其他什么的,在编辑器里没有

芦荟酸奶

代码什么时候要缩进?初学者的个人理解:你可以把代码理解为window下的目录一样,缩进表示下级目录如果不缩进简单的代码还是可以运行的,但是会让人(机器)很难读,跟流水账一样,没有逻辑性。你要让人(机器)明白先干什么再干什么。为什么不要用tap呢?你在什么地方写代码的呢?总不会是windows的txt吧?总要找个好一点编辑器打代码吧。所以不同的编辑器里tap键的设置不一样~一般python的要求是一个tap是4个空格,所以做好用空格不大会错,你设置好了编辑器了也可以用tap了啊 ··· 有什么作用呢这个是在python的交互环境下的东西,你换个ide就没有了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python