Python的条件语句与运算符优先级详解


Posted in Python onOctober 13, 2015

Python 条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:

Python的条件语句与运算符优先级详解

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
  执行语句……
else:
  执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 例1:if 基本用法

flag = False
name = 'luren'
if name == 'python':     # 判断变量否为'python'
  flag = True     # 条件成立时设置标志为真
  print 'welcome boss'  # 并输出欢迎信息
else:
  print name       # 条件不成立时输出变量名称

输出结果为:

>>> luren  # 输出结果

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值是,可以使用以下形式:

if 判断条件1:
  执行语句1……
elif 判断条件2:
  执行语句2……
elif 判断条件3:
  执行语句3……
else:
  执行语句4……

实例如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法

num = 5   
if num == 3:      # 判断num的值
  print 'boss'    
elif num == 2:
  print 'user'
elif num == 1:
  print 'worker'
elif num < 0:      # 值小于零时输出
  print 'error'
else:
  print 'roadman'   # 条件均不成立时输出

输出结果为:

>>> roadman # 输出结果

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 例3:if语句多个条件

num = 9
if num >= 0 and num <= 10:  # 判断值是否在0~10之间
  print 'hello'
>>> hello # 输出结果

num = 10
if num < 0 or num > 10:  # 判断值是否在小于0或大于10
  print 'hello'
else:
 print 'undefine'
>>> undefine # 输出结果

num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):  
  print 'hello'
else:
  print 'undefine'
>>> undefine # 输出结果

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

简单的语句组
你也可以在同一行的位置上使用if条件判断语句,如下实例:

#!/usr/bin/python 
# -*- coding: UTF-8 -*-
 
var = 100 
 
if ( var == 100 ) : print "变量 var 的值为100" 
 
print "Good bye!"

以上代码执行输出结果如下:

变量 var 的值为100
Good bye!

Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
Python的条件语句与运算符优先级详解
以下实例演示了Python所有运算符优先级的操作:

#!/usr/bin/python

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d    #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ", e

e = ((a + b) * c) / d   # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ", e

e = (a + b) * (c / d);  # (30) * (15/5)
print "Value of (a + b) * (c / d) is ", e

e = a + (b * c) / d;   # 20 + (150/5)
print "Value of a + (b * c) / d is ", e

以上实例输出结果:

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50
Python 相关文章推荐
用Python输出一个杨辉三角的例子
Jun 13 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
python创建临时文件夹的方法
Jul 06 Python
python从入门到精通(DAY 2)
Dec 20 Python
python实现井字棋游戏
Mar 30 Python
浅谈Python中的私有变量
Feb 28 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
Python常见字典内建函数用法示例
May 14 Python
使用python画社交网络图实例代码
Jul 10 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 #Python
Python中的字典与成员运算符初步探究
Oct 13 #Python
详解Python中的元组与逻辑运算符
Oct 13 #Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 #Python
Python语法快速入门指南
Oct 12 #Python
初步认识Python中的列表与位运算符
Oct 12 #Python
Python入门学习之字符串与比较运算符
Oct 12 #Python
You might like
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
使用URL传输SESSION信息
2015/07/14 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
一百行python代码将图片转成字符画
2021/02/19 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
给领导的致歉信范文
2014/01/13 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
校园广播稿500字
2014/02/04 职场文书
给校长的一封建议书
2014/03/12 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
大学辅导员述职报告
2015/01/10 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
裁员通知
2015/04/25 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL