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

Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

1-200I1114K7.jpg

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

?

1

2

3

4

if 判断条件:

执行语句……

else:

执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 例1:if 基本用法

flag= False

name= 'luren'

if name== 'python':# 判断变量否为'python'

flag= True # 条件成立时设置标志为真

print 'welcome boss' # 并输出欢迎信息

else:

print name# 条件不成立时输出变量名称

输出结果为:

?

1

>>> luren # 输出结果

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值是,可以使用以下形式:

?

1

2

3

4

5

6

7

8

if 判断条件1:

执行语句1……

elif 判断条件2:

执行语句2……

elif 判断条件3:

执行语句3……

else:

执行语句4……

实例如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#!/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' # 条件均不成立时输出

输出结果为:

?

1

>>> roadman # 输出结果

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#!/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条件判断语句,如下实例:

?

1

2

3

4

5

6

7

8

#!/usr/bin/python

# -*- coding: UTF-8 -*-

var= 100

if ( var== 100 ) :print "变量 var 的值为100"

print "Good bye!"

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

?

1

2

变量 var 的值为100

Good bye!

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

1-200I1114K7-50.jpg

以下实例演示了Python所有运算符优先级的操作:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#!/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

以上实例输出结果:

?

1

2

3

4

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值