为了账号安全,请及时绑定邮箱和手机立即绑定

这几天遇到的问题

这几天遇到的问题

小王同学2015 2016-04-06 16:24:14
代码什么时候需要缩进呢?如图从print才开始缩进的,为什么前面的代码不缩进呢?还有为什么不要用tap呢?另外print语句前的 ··· 有什么作用呢?为什么有一行只有 ··· 呢?
查看完整描述

3 回答

已采纳
?
清波

TA贡献165条经验 获得超90个赞

我就不按照 这个课程中的课件讲了,跟着题主的疑问一个个展开,尽量讲的详细,以供 猿问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 语句的代码块中, 就会报缩进错误。


查看完整回答
反对 回复 2016-04-07
?
yebo

TA贡献1条经验 获得超1个赞

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

查看完整回答
1 反对 回复 2016-04-06
?
芦荟酸奶

TA贡献4条经验 获得超0个赞

代码什么时候要缩进?

初学者的个人理解:你可以把代码理解为window下的目录一样,缩进表示下级目录

如果不缩进简单的代码还是可以运行的,但是会让人(机器)很难读,跟流水账一样,没有逻辑性。

你要让人(机器)明白先干什么再干什么。

为什么不要用tap呢?

你在什么地方写代码的呢?总不会是windows的txt吧?总要找个好一点编辑器打代码吧。

所以不同的编辑器里tap键的设置不一样~一般python的要求是一个tap是4个空格,所以做好用空格不大会错,

你设置好了编辑器了也可以用tap了啊

 ··· 有什么作用呢

这个是在python的交互环境下的东西,你换个ide就没有了




查看完整回答
反对 回复 2016-04-07
  • 3 回答
  • 0 关注
  • 1472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信