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中XlsxWriter模块简介与用法分析
Apr 24 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
python 实现selenium断言和验证的方法
Feb 13 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Python二元赋值实用技巧解析
Oct 25 Python
python 实现多维数组转向量
Nov 30 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
Python批量将图片灰度化的实现代码
Apr 11 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
用python获取txt文件中关键字的数量
Dec 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
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
Django在win10下的安装并创建工程
2017/11/20 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
浅谈Python中的bs4基础
2018/10/21 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Django学习之文件上传与下载
2019/10/06 Python
Python发送邮件实现基础解析
2020/08/14 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
关于运动会的广播稿
2014/09/22 职场文书
项目合作协议书
2014/09/23 职场文书
先进个人事迹材料
2014/12/29 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
志愿者工作心得体会
2016/01/15 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书