马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 keliyuan 于 2017-6-26 21:40 编辑
1. 算术运算符: 加(+),减(-),乘(*),除(/),幂运算(**),除(//)
1) /和//的区别
在Python中的除运算符与其它程序语言的不太一样,/表示真正的除号,例如1/3=0.3333333333333333,而4/2的值为2.0。说明两个数相除的值是一个浮点数,而其它程序语言/却表示两个整数相除,只返回一个整数。Python后来为了兼容这种用法,引入了//来实现。例如3//2的值为1,而3.0//2的值为1.0,且3//2.0的值也为1.0。说明在Python中//符号两边同为整数时的值才为整数,否则则为一个浮点数(后面带'.0')。
2)**运算符与负号(-)运算符的优先级问题
在Python中,‘-’在一个数字前面表示成负号,例如-3,-5.12等。**在-的右边时,其优先级高于-,例如-2**2相当于-(2**2)等于-4,而当其在右边时优先级低于-,如2**-2则相当于2**(-2)等于0.25.
3)允许运算符与等号一起使用,表示变量本身参加运算并重新赋值给变量,例如 x =5,x+=5后,x的值为10
这些运算在编程中经常出现,因此有自己专门的操作符:+=(自增)和 -=(自减)。
可以像这样使用:
>>> number = 7
>>> number += 1
>>> print number
8
或者:
number increased by 1
>>> number = 7
>>> number -= 1
>>> print number
6
2.逻辑操作符: and or not
1) x and y 的值计算过程为先判断x的值,如果为0则返回0,否则返回y的值, 例如 3 and 4 值为4;0 and 4 值为0
2) x or y 的值计算过程为先判断x的值,如果为0则返回y的值,否则返回x的值,例如 3 or 4的值为 3;0 or 4的值为4
3) not x 的值的计算过程为先判断x的值,如果为0则返回True,否则返回False 例如 not 0的值为True; not 0.12 值为False
4)三者的优先级 not > and >or
假设你要为 8 岁以上的人创建一个游戏,另外你希望玩家至少上三年级。这就要满足两个条件。下面是测试这两个条件的一种方法
使用 and
age = float(raw_input("Enter your age: "))
grade = int(raw_input("Enter your grade: "))
if age >= 8 and grade >= 3:
print "You can play this game."
else:
print "Sorry, you can’t play the game."
使用 and 关键字来结合这两个条件,and 表示两个条件都必须为真才能执行下面的代码块。
使用 or
or 关键字也是用来把多个条件放在一起。如果使用 or,只要任意一个条件为
真,就会执行代码块。
输入正确的颜色才能玩这个游戏。color = raw_input("Enter your favorite color: ")
if color == "red" or color == "blue" or color == "green":
print "You are allowed to play this game."
else:
print "Sorry, you can't play the game."
使用 not
还可以用 not 把比较倒过来,表示相反的逻辑。
这行代码 if not (age < 8):
与这行代码: if age >= 8:
3. 比较运算符: < <= > >= == !=
满足条件为True 否则为False,例如 3>4的值为False 3<4的值为True,且允许使用x<y<z表达式,等同(x<y) and (y<z)
4. 赋值运算符: =
平时我们用到最多的就是赋值运算符,例如为变量赋初值等。Python中允许 x=y=z=2,表示x,y,z的值均为2
5. 运算符优先级问题:
首先理解一个概念,几元运算符指的是运算符的操作数有几个;一般而言优先级上一元运算符高于二元运算符,算数运算符优先级>比较运算符>逻辑运算符,
|