条件测试

每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

相等运算符( == )在它两边的值相等时返回True,否则返回False。

在Python中检查是否想等时 区分大小写。例如,两个大小写不同的值会被视为不想等。

要判断两个值是否不等,可结合使用惊叹号和等号( != ),其中惊叹号表示不。

条件语句中可包含各种数学比较,如小于( < )、小于等于( <= )、大于( > )、大于等于( >= )。

检查多个条件

关键字 and 将两个条件测试合而为一;如果都通过了表达式就为True;如果至少一个测试没有通过,整个表达式就为False。

关键字 or 也能够检查多个条件,但只要至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用 or 的表达式才为False。

如:

  1. age_0 = 18
  2. age_1 = 22
  3. if age_0 >= 21 and age_1 <= 21:
  4. print('YES.')
  5. else:
  6. print('Is Not.')
  7.  
  8. age_0 = 20
  9. age_1 = 18
  10. if age_0 >= 21 or age_1 <= 21:
  11. print('YES.')
  12. else:
  13. print('Is not.')

布尔表达式:与条件表达式一样,布尔表达式的结果要么为True,要么为False。

if语句

在 if 语句中,缩进的作用与for循环中相同。 测试通过了,将执行 if 语句后面所有缩进的代码行,否则将忽略它们。

在紧跟在 if 语句后面的代码块中,可根据需要包含任意数量的代码行。

if-else语句

if-else 语句块类似于简单的 if 语句,但其中的 else 语句是 指定条件测试未通过时要执行的操作。

if-elif-else

Python只执行 if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。 测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

  1. age=2
  2. if age<4:
  3. print("Your admission cost is $0.")
  4. elif age<18:
  5. print("Your admission cost is $5.")
  6. else:
  7. print("Your admission cost is $10.")

总结:else 是一条包罗万象的语句,只要不满足任何 if 或者 elif 中的任何条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。

    如果知道最重要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。

PS:如果只想执行一个代码块,就使用 if-elif-else 结构;如果要运行多个代码块,就使用一系列独立的 if 语句。

使用 if 语句处理列表

检查列表是否为空

如:

  1. users=['admin','guest','zhang','wang','li']
  2. if users:
  3. for user in users:
  4. if user=='admin':
  5. print('Hello '+user.title()+',would you like to see a staus report?')
  6. else:
  7. print('Hello '+user.title())
  8. else:
  9. print('We need to find some users!')

其中的 if users: 是进行简单的检查,如果 users 的列表是空的,Python 就会返回False; 至少包含一个元素时返回True。

同时使用多个列表:

如:

  1. current_users=['admin','guest','zhang','wang','li']
  2. new_users=['admin','guest','zhao','qian','sun']
  3. for user in new_users:
  4. if user.lower() in current_users:
  5. print('Enter one user name:')
  6. else:
  7. print('User name is not used!')

学习Python笔记---if 语句的更多相关文章

  1. “笨方法”学习Python笔记(1)-Windows下的准备

    Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...

  2. 学习Python笔记---变量和简单数据类型

    首先声明,这个是个人在自学的一些笔记,因为是小白,刚接触Python,之前也没有过类似的经验,所以很多东西对于其他人来说可能是小白级别的,写出来没有其他的意思就是自己整理然后记录一下,顺便分享出来,而 ...

  3. 学习Python笔记---操作列表

    1.for循环: 编写for循环时,对于用语存储列表中每个值的临时变量,可指定任何名称. 在for循环中,想包含多少行代码都可以,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次. ...

  4. 学习Python笔记---列表简介

    列表: 列表由一系列按特定顺序排列的元素组成.你可以创建包涵字母表中所有字母.数字0-9或所有家庭成员姓名的列表:也可以将任何东西加入列表中,其中的元素之间可以没有任何关系. 列表 在Python中, ...

  5. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  6. 20180129周一之学习PYTHON笔记【安装、查看工作目录、】

    一,安装过程中多选一个ADD的项,免去设置环境变量. 二,PYAUTOGUI模块控制键鼠. IMAGE模块. ----------------------python 如何查看与更换工作目录----- ...

  7. 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表

    元组:戴上了枷锁的列表 因为和列表是近亲关系.所以元祖和列表在实际使用上是很相似的. 本节主要通过讨论元素和列表究竟有什么不同学习元祖. 元组是不可改变元素的.插入.删除或者排序都不能够.列表能够随意 ...

  8. 【零基础入门学习Python笔记012】一个打了激素的数组3

    列表的一些经常使用操作符 比較操作符 逻辑操作符 连接操作符 反复操作符 成员关系操作符 +表示两个连接.*表示复制. list中"+"两边的类型必须一致. 演示样例: water ...

  9. 学习python笔记 协程

    下面将一个经典的消费者和生产者的案例进行分析: import time def consumer(): r = '' while True: n = yield r if not n: return ...

随机推荐

  1. Django简介以及安装

    目录 前言 Web框架本质 服务器和应用程序 基于第三方模块实现Web框架 Python三大主流Web框架 django flask tornado Django框架介绍 安装 创建项目 创建App ...

  2. MFC 使程序不在任务栏显示

    在OnInitDialog()中直接修改窗口风格: // 让本程序不在任务栏显示(创建一个工具条窗口) ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

  3. jquery.cookie.js时间设置

    var expiresDate= new Date(); expiresDate.setTime(expiresDate.getTime() + (120*60*1000)); $.cookie('u ...

  4. 用React实现一个自动生成文章目录的组件

    原文地址:小寒的博客 功能介绍 这个组件的效果呐,就是你在浏览这个页面的时候点击右上角的叉叉看到的那个文章目录. 功能很简单,就是根据文章内容自动生成这个目录,可以快速跳转. 需要的知识点 正则 do ...

  5. 33 N皇后问题

    原题网址:https://www.lintcode.com/zh-cn/old/problem/n-queens/# n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击. 给定一个整 ...

  6. System.Text.Encoding.cs

    ylbtech-System.Text.Encoding.cs 1.程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77 ...

  7. 关于前端调用后端php数据跨域的问题

    https://blog.csdn.net/qq_21386275/article/details/87269979 js前端 <!DOCTYPE html><html>< ...

  8. PAT甲级——A1098 Insertion or Heap Sort

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...

  9. 关于Spring Cloud Feign的一些记录!

    学习Spring Cloud Feign过程中,相关资料都会反复强调:微服务调用的话(@FeignClient)  客户端方法的返回值和服务端方法的返回值还有方法名之类的都是要求一致的! 关于方法名是 ...

  10. 04_Spring AOP两种代理方法

    什么是AOP?           AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是O ...