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 相关文章推荐
通过数据库向Django模型添加字段的示例
Jul 21 Python
常见python正则用法的简单实例
Jun 21 Python
微信跳一跳游戏python脚本
Apr 01 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
python获取点击的坐标画图形的方法
Jul 09 Python
Python爬虫运用正则表达式的方法和优缺点
Aug 25 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
pytorch 计算ConvTranspose1d输出特征大小方式
Jun 23 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
python计算auc的方法
Sep 09 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
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
vue的diff算法知识点总结
2018/03/29 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
详谈js的变量提升以及使用方法
2018/10/06 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
Python多线程原理与用法详解
2018/08/20 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
旅游网创业计划书
2014/01/31 职场文书
残疾人小组计划书
2014/04/27 职场文书
销售人员求职信
2014/07/22 职场文书
2014年部门工作总结
2014/11/12 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书