Python 轻松学会写程式笔记-第3节33-什么是框框

框框

我觉得很多初学者刚开始在学python的时候 对框框有所模糊
就是他们不知道为什么程式码裡面会有空格
像现在的4到6行前面都有同样的空格
他们不知道什么时候要空 为什么要空
所以我去看他们的程式码的时候
我就会常常看到 你这裡写了一个if 你裡面的东西怎么没有空格
你少了空格 或是空格的架构错 空太多 空太少
会发现有这种空格上面的问题
这个很常见
那我就一定要在最开始的时候加强你为什么会有这个空格
在这里插入图片描述
现在这4到6行都有同样的空格
表示它们是在一块的
它们是在一起的 它们三个是好朋友

这个为什么它叫框框
英文叫block
中文叫区块
那我把它取成框框 一个block

那为什么它们有这些空格
因为它们在这个if的裡面
第3行这个if的裡面
有没有 我画一个箭头进去
空进去的意思
我们前面都空格 空格 空格
空进去
在这里插入图片描述
所以4到6行是属于
这个if架构裡面的区块的框框

我证明给你看它是在它的裡面

我们按这个if左边这个
收敛三角形 这是subline的功能
在这里插入图片描述
收起来 展开 收起来 展开
证明它真的在裡面

所以这就是为什么我们前面要写空格
就是为了要让电脑知道
我们的这一些程式码 是属于这个if的裡面

如果我没有写这个空格
就表示它不在它裡面
它就跟它并排了 在这里插入图片描述它跟它同样等级了 跟它并排了

你看这边 if这边
第3行跟第6行前面都没有空格
它们是同等级的 它们并排了

只有4到5行
只有4到5行是在这个if的裡面
因为前面有空格
在这里插入图片描述
所以你现在看我收敛 收起来
只有4到5行有收起来
第6行都独自的在外面 它并不属于这个if的裡面

所以呢 以现在这个情况
4到5行不见得会执行
要看看上面这个if的条件
有没有变true
如果变true才执行
如果变false就不执行

而第6行是一定会执行的
因为它跟这个if一点关係也没有
你看它收起来 没有把它收起来
所以这个第6行是独立的
它跟这个if是完全没有关系的
所以我们这个空格很重要

我现在空回去
这样它就进到if的裡面了
它就跟4到5行在一起了 懂了吗

if裡面还有if

譬如说我现在在写一个if
if X小于3 然后我又再写
那我就印出X真的小于三欸

我这边有空格
然后这边变空两格了
双层的架构就比较难看懂

在这里插入图片描述
这全部4到8行都在第3行的这个if裡面
因为前面都有同样的空格
所以如果第3行这边的这个条件呢 变成false的话是变成错的话
那我们这边全部都不看了
都不执行了 根本不进来了

好那如果第3行的这个条件呢
这个if呢变成true的话
变成true 对的 我们有进来
我们就进这个框框 4到8行的这个大框框
好我们进来 进来之后我们就先印出 撑伞出门 买一包洋芋片 在家看电影

结果再下来我们又遇到了一个if了
If裡面还有if
那一但遇到if 我们就要写一个框框
为什么
这个框框就是这个if如果成立的时候 我们要做的事情
如果X大于3的话
我们就要做这个框框这个事情

所以如果有if我们当然要写一个框框
不然你那个写那个if干嘛
如果对的时候什么都不做
那就没意义了 白写了

所以如果有写if当然要配一个框框
现在你要了解的是说

这边我涂满的这个小框框
只有一行而已的这个小框框
它比较深沉 深沉
因为它在一个大框框裡面
已经是在框框裡面了它自己又是框框
框框中的框框 所以它比较深

其实我可以直接用肉眼
看出来它比较深 为什么
它前面都 它前面有两个空格

外面的这个大框框呢
外面的这个if的框框是这个大框框
都是只有一个空格的
那裡面的这个小框框在这里插入图片描述

裡面的这个if的小框框在这边
是两个空格的
所以他等于 你可以想像成等级二
比较深沉的 level two的框框
外面的这个是level one
然后裡面的这个是level two的
因为它前面有两个空格

这每一个空格是空多少
你可以用一个tab键或是4个空白键

Space就是空白键

我现在是用tab
我也可以用4个空白键

可是比较要强调的是你不能混著用

tab跟空白键不能混着用
在这里插入图片描述
我现在把程式码全选 ctrl A全选
看上面这些一条一条线的 这个就是tab的意思 表示我们上面都用了tab T A B tab键

那这4个点点
每一个点就是一个空白键的意思

所以我们现在混用了
我一下用tab我一下用空白键来空
这样不好

最标准应该是用4个空白键(但这不用很介意,全部统一用tab也可以)

其实最标准的作法
应该是全部都用空白键
就4个空白键
只要我们有要进行空格的部分
那我一律都是用4个空白键

但是subline呢的初始设定
它是送你tab
在这里插入图片描述
譬如说我现在空格空下来
你看它送我一个tab 有没有看到
再一次 我enter空下来
你看它送我的是tab
所以其实它这个不是最标准的
Google公布的指南裡面它有提到
如果是python的空格的部分
最标准应该是用4个空白键
然后再开始写

那如果我现在要把全部的程式码
改成4个空白键
我就把这些tab都删掉
好 存档

最后最后再讲一次
4到8行是一个大框框
这个大框框是属于这个
第3行这个if裡面的
所以如果我在第3行做收敛
全部都收起来了 有没有

然后第7行这边又遇到了一个if
所以第8行是一个框框
是一个比较小的框框
而且它在大框框裡面
所以这是为什么我说它比较深沉
我刚刚说它是level two的
level two 因为它前面有两个空格
它比较深沉 它在框框裡面的框框
那这一个比较小的框框
它是属于第7行这个if架构裡面
我要看看X有没有大于3
我才决定要不要印这一行这个部分

所以呢 我如果对这个小小的if
做收敛有没有 只收了那一行
然后如果对第3行这个做收敛
全部收起来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值