代码块和if条件表达式

代码块

什么是代码块

以冒号作为开始,用缩进来划分作用域。

在之后的学习当中,使用if条件语句、for、while循环语句、定义函数、定义类等诸多地方都会涵盖代码的概念。

什么是作用域

代码块作用的区域,作用的范围,在Python中使用空格或者是缩进来进行划分,缩进或空格之后一定要写代码才是一行完整的作用域。

注意事项

同一个作用域的缩进或者是空格的使用要一致,使用的类型、数量都要一致,比如使用空格,整个作用域都要使用空格,如果使用4个空格,那么都要使用4个空格,缩进和空格决不能混合使用。

定义代码块之后,必须要划分作用域,python会在代码块之后一直寻找作用域,一直找到文档的最后一行,如果没有找到,就会报错。

# 使用if来举例(if条件表达式我们之后会讲):
if 1: # 使用了冒号“:”,说明我们定义了一个代码块
# 这一行使用了缩进,但是后面却没有代码,注释是不算代码的,就依然向下执行寻找作用域。
print(1) # 缩进之后有代码,这就是一行作用域,作用域的行数是不限制的,但是最少也要有一行。
print(2) # 第二行作用域
print('hello') # 取消缩进开头,就说明跳出了代码块的作用域,不在代码块中的代码不受作用域的影响。

流程控制

流程:代码执行的过程

控制:对代码执行过程中的一种把控

if条件表达式

if条件表达式几乎所有的语言都存在,我们之前说过,计算机当中的任何东西都是非真既假的,而if的作用的就是判断一段条件语句是真还是假,如果是真,就执行它所开辟的代码块中的作用域代码,反之不执行。

三大结构

  1. 顺序结构:默认代码一次从上到下执行,也就是正常最普见的代码
  2. 分支结构if条件表达式
    1. 单项分支
    2. 双向分支
    3. 多项分支
    4. 巣状分支
  3. 循环结构while循环表达式

单项分支

单单使用一个if语句完成,当条件表达式成立,返回True,执行相应的作用域,反之不执行。

if expression:
code0
code1
...
if 10 == 10:    # 10 == 10 条件成立,返回True,执行相应的代码域
print(1)
print(2) if 10 != 10: # 10 != 10 条件不成立,返回False,跳过相应的代码域,不予执行
print(10)
print(20)
print(666) # 不在作用域中的代码不受if表达式的影响。 '''
结果:
1
2
666
'''

双向分支

除了使用if,还有else分支,这就是双向分支。如果if的条件表达式成立,执行if相应的代码域;反之执行else相应的代码域。所以if代码块叫做真区间,else代码块叫做假区间。

if expression:
code0
...
else:
code0
...
if True:                # 条件为真
print('真区间0') # 执行真区间
else:
print('假区间0') # 假区间不执行 if False: # 条件为假
print('真区间1') # 不执行真区间
else:
print('假区间1') # 执行假区间 '''
结果:
真区间0
假区间1
'''

多项分支

除了if else之外还有elif的使用,elif也需要条件表达式,如果if的表达式不成立,判断elif的表达式,依次执行,那个分支的表达式成立执行哪个作用域,如果都不成立,执行else分支。

elif分支可以出现多个,没有数量的限制,但是所有的elif必须在if分支的后面,else的前面;而else分支可以也可以不写,如果写至多存在一个。

if expression0:
code0
...
elif expression1:
code0
...
elif expression2:
code0
...
else:
code0
...
if False:
print('真区间0')
elif False:
print('真区间1')
elif True:
print('真区间2')
else:
print('假区间') '''
结果:
真区间2
'''

巣状分支

巣状分支就是单项分支,双向分支,多项分支的互相嵌套,也就是在实际的编程情况当中,单纯的某一种分支方式不能够满足功能的需要,所以使用多种分支的结合,灵活搭配满足必要的功能。

循环结构

循环结构就是while循环的时候,请看下一篇,循环语法

python的代码块和if条件表达式的更多相关文章

  1. 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块,python的代码块可以提升整体的整齐度,提高开发效率

    # ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) if True: print(3) print(4) if Fa ...

  2. 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获

    孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...

  3. Python学习教程(learning Python)--3.3 分支语句的条件表达式详解

    本节主要讨论分支语句的条件表达式问题. 在if或者if-else分支控制语句里由于都用到条件判断(表达式是真还是假),条件判断可以是一种关系运算也可以是布尔表达式. 本节将对if及if-else语句的 ...

  4. 《Python》 代码块、小数据池和编码转换

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...

  5. python的代码块缓存机制,小数据池机制。

    同一代码块的缓存机制 在python中一个模块,一个函数,一个类,一个文件等都是一个代码块. 机制内容:Python在执行同一个代码块的初始化对象的命令时,会检查是否其值是否已经存在,如果存在,会将其 ...

  6. 【学习笔记】python的代码块(吐槽)

    曾经我以为python是像pascal那样begin开始end结束, 直到今天…… 我才知道python是用缩进作为代码段标识的…… >>> def test(n): ... if ...

  7. python功能代码块记录

    python Autopep8——按PEP8风格自动排版Python代码(参考链接) autopep8 --in-place --aggressive --aggressive test_autope ...

  8. Python从菜鸟到高手(8):print函数、赋值与代码块

    1.神奇的print函数   print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设 ...

  9. python条件表达式:多项分支,双向分支

    # ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...

随机推荐

  1. 如何为应用选择最佳的FPGA(下)

    如何为应用选择最佳的FPGA(下) How to select an FPGA board? FPGA板的选择在很大程度上受FPGA本身的影响,也受整个板的特性和性能的影响.们已经在上面的章节中讨论了 ...

  2. Python_Selenium 之以login_page为例实现对basepage封装好的方法调用和对common中公共方法的调用

    目的:简化代码,提供框架该有的东西每一个函数 -提供了一个功能 - 公共的功能有了basepage,在PageObjects当中直接调用元素操作. 以下以login_page 为例,实现从配置文件中读 ...

  3. JVM集合之开篇点题

    大家在平时的开发过程中是否遇到过StackOverflowError.OutOfMemoryError等类似的内存溢出错误呢?大家又是怎么解决这个问题的?再来,大家在面试过程中有没有被面试官提问过jv ...

  4. OpenCV开发实战1——抖音哈哈镜效果

    前言 在抖音中,我们经常看到各种抖音玩家都喜欢使用哈哈镜效果.那么什么是哈哈镜呢? 在现实生活中,哈哈镜是指一种表面凹凸不平的镜子,可以反应出人像及物体的扭曲面貌.简单点来说就是拉伸人脸(物件),或者 ...

  5. PHPList 安装

    邮件发送开源软件 PHPList 安装介绍 1:安装基本信息 官网地址 地址:https://www.phplist.com/ 其他:https://www.d-ip.jp/phplist/ 官网手册 ...

  6. Mysql数据库值的添加、修改、删除及清空

    3.MySQL数据管理 第一种方式:不太建议,看起来复杂些 -- 学生表的 gradeid 字段,要去引用 年级表的 gradeid -- 定义外键key -- 给这个外键添加约束,(执行引用),RE ...

  7. SpringBoot(1)-新手入门(详细教程+理解)

    前话:很多人刚学java没多久就开始学springboot,毕竟springboot屏蔽了很多框架的配置,导致搭建一个项目变得比以前简单很多.但建议还是先把基础的框架都熟悉一遍,再用springboo ...

  8. 【NX二次开发】设置了“附加包含目录”,还是提示“无法打开包括文件”的解决方法

    项目属性中的"附加包含目录"路径完全正确,但是还是无法找到头文件: 这个问题我遇到过不止一次,纠结了很久,终于发现了解决方法: 改为: 问题解决! 分析原因:项目中的属性配置 与 ...

  9. apache jmeter下载与安装

    JMeter是Apache软件基金会的产品,用于对静态的和动态的资源性能进行测试.jmeter可以运行在多个平台上,如Windows和Linux,本文讲的是在Windows安装jmeter. 工具/原 ...

  10. 【题解】Luogu P3123 [USACO15OPEN]贝茜说哞Bessie Goes Moo

    Luogu P3123 [USACO15OPEN]贝茜说哞Bessie Goes Moo 题目描述 Farmer John and Bessie the cow love to exchange ma ...