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使用心得之获得github代码库列表
Jun 25 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
python矩阵转换为一维数组的实例
Jun 05 Python
对python 命令的-u参数详解
Dec 03 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
php构造函数与析构函数
2016/04/23 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
js加解密 脚本解密
2008/02/22 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python中的类与对象之描述符详解
2015/03/27 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
python中比较两个列表的实例方法
2019/07/04 Python
wxpython布局的实现方法
2019/11/01 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python爬虫可以爬什么
2020/06/16 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
英国现代绅士品牌:Hackett
2017/12/17 全球购物
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
用Python生成会跳舞的美女
2022/01/18 Python
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL