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中关键字is与==的区别简述
Jul 31 Python
举例讲解Python中is和id的用法
Apr 03 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
解决DataFrame排序sort的问题
Jun 07 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 Python
Python使用openpyxl复制整张sheet
Mar 24 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项目中比较通用的php自建函数的详解
2013/06/06 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python help()函数用法详解
2014/03/11 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python中协程用法代码详解
2018/02/10 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
如何使用python代码操作git代码
2020/02/29 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
彪马法国官网:PUMA法国
2019/12/15 全球购物
群众路线个人对照检查材料2014
2014/09/26 职场文书
情感电台广播稿
2015/08/18 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript