您的位置:首页 > 编程语言 > Python开发

[学习笔记]python入门路漫漫,小心脚滑(二)

2016-12-19 16:17 337 查看

2.python运算符

Python语言支持以下类型的运算符:

算术运算符

比较(关系)运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

运算符优先级

算数运算符

加:+

减:-

乘:*

除:/

模:%

幂**

整除//

#!/usr/bin/python3

a = 21

b = 10

c = 0

c = a + b

print (“1 - c 的值为:”, c)

c = a - b

print (“2 - c 的值为:”, c)

c = a * b

print (“3 - c 的值为:”, c)

c = a / b

print (“4 - c 的值为:”, c)

c = a % b

print (“5 - c 的值为:”, c)

# 修改变量 a 、b 、c

a = 2

b = 3

c = a**b

print (“6 - c 的值为:”, c)

a = 10

b = 5

c = a//b

print (“7 - c 的值为:”, c)

以上实例输出结果:

1 - c 的值为: 31

2 - c 的值为: 11

3 - c 的值为: 210

4 - c 的值为: 2.1

5 - c 的值为: 1

6 - c 的值为: 8

7 - c 的值为: 2

Python比较运算符

等于: =

不等于:!=

大于:>

小于:<

大于等于:>=

小于等于:<=

#!/usr/bin/python3

a = 21

b = 10

c = 0

if ( a == b ):

print (“1 - a 等于 b”)

else:

print (“1 - a 不等于 b”)

if ( a != b ):

print (“2 - a 不等于 b”)

else:

print (“2 - a 等于 b”)

if ( a < b ):

print (“3 - a 小于 b”)

else:

print (“3 - a 大于等于 b”)

if ( a > b ):

print (“4 - a 大于 b”)

else:

print (“4 - a 小于等于 b”)

# 修改变量 a 和 b 的值

a = 5;

b = 20;

if ( a <= b ):

print (“5 - a 小于等于 b”)

else:

print (“5 - a 大于 b”)

if ( b >= a ):

print (“6 - b 大于等于 b”)

else:

print (“6 - b 小于 b”)

以上实例输出结果:

1 - a 不等于 b

2 - a 不等于 b

3 - a 大于等于 b

4 - a 大于 b

5 - a 小于等于 b

6 - b 大于等于 b

赋值运算符

= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c

+= 加法赋值运算符 c += a 等效于 c = c + a

-= 减法赋值运算符 c -= a 等效于 c = c - a

*= 乘法赋值运算符 c *= a 等效于 c = c * a

/= 除法赋值运算符 c /= a 等效于 c = c / a

%= 取模赋值运算符 c %= a 等效于 c = c % a

**= 幂赋值运算符 c **= a 等效于 c = c ** a

//= 取整除赋值运算符 c //= a 等效于 c = c // a

实例:

#!/usr/bin/python3

a = 21

b = 10

c = 0

c = a + b

print (“1 - c 的值为:”, c)

c += a

print (“2 - c 的值为:”, c)

c *= a

print (“3 - c 的值为:”, c)

c /= a

print (“4 - c 的值为:”, c)

c = 2

c %= a

print (“5 - c 的值为:”, c)

c **= a

print (“6 - c 的值为:”, c)

c //= a

print (“7 - c 的值为:”, c)

以上实例输出结果:

1 - c 的值为: 31

2 - c 的值为: 52

3 - c 的值为: 1092

4 - c 的值为: 52.0

5 - c 的值为: 2

6 - c 的值为: 2097152

7 - c 的值为: 99864

Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:(与c一模一样的规则)

a = 0011 1100

b = 0000 1101

—————–

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

规则大概如下:

& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100

| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101

^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<< 左移动运算符:运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000

>> 右移动运算符:把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

再看实例:

#!/usr/bin/python3

a = 60 # 60 = 0011 1100

b = 13 # 13 = 0000 1101

c = 0

c = a & b; # 12 = 0000 1100

print (“1 - c 的值为:”, c)

c = a | b; # 61 = 0011 1101

print (“2 - c 的值为:”, c)

c = a ^ b; # 49 = 0011 0001

print (“3 - c 的值为:”, c)

c = ~a; # -61 = 1100 0011

print (“4 - c 的值为:”, c)

c = a << 2; # 240 = 1111 0000

print (“5 - c 的值为:”, c)

c = a >> 2; # 15 = 0000 1111

print (“6 - c 的值为:”, c)

以上实例输出结果:

1 - c 的值为: 12

2 - c 的值为: 61

3 - c 的值为: 49

4 - c 的值为: -61

5 - c 的值为: 240

6 - c 的值为: 15

Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 逻辑表达式   描述  实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or  x or y  布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。  (a or b) 返回 10。
not not x   布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。    not(a and b) 返回 False


以上实例输出结果:

#!/usr/bin/python3

a = 10

b = 20

if ( a and b ):

print (“1 - 变量 a 和 b 都为 true”)

else:

print (“1 - 变量 a 和 b 有一个不为 true”)

if ( a or b ):

print (“2 - 变量 a 和 b 都为 true,或其中一个变量为 true”)

else:

print (“2 - 变量 a 和 b 都不为 true”)

# 修改变量 a 的值

a = 0

if ( a and b ):

print (“3 - 变量 a 和 b 都为 true”)

else:

print (“3 - 变量 a 和 b 有一个不为 true”)

if ( a or b ):

print (“4 - 变量 a 和 b 都为 true,或其中一个变量为 true”)

else:

print (“4 - 变量 a 和 b 都不为 true”)

if not( a and b ):

print (“5 - 变量 a 和 b 都为 false,或其中一个变量为 false”)

else:

print (“5 - 变量 a 和 b 都为 true”)

以上实例输出结果:

1 - 变量 a 和 b 都为 true

2 - 变量 a 和 b 都为 true,或其中一个变量为 true

3 - 变量 a 和 b 有一个不为 true

4 - 变量 a 和 b 都为 true,或其中一个变量为 true

5 - 变量 a 和 b 都为 false,或其中一个变量为 false

Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 描述  实例
in  如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in  如果在指定的序列中没有找到值返回 True,否则返回 False。   x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
以下实例演示了Python所有成员运算符的操作:


#!/usr/bin/python3

a = 10

b = 20

list = [1, 2, 3, 4, 5 ];

if ( a in list ):

print (“1 - 变量 a 在给定的列表中 list 中”)

else:

print (“1 - 变量 a 不在给定的列表中 list 中”)

if ( b not in list ):

print (“2 - 变量 b 不在给定的列表中 list 中”)

else:

print (“2 - 变量 b 在给定的列表中 list 中”)

# 修改变量 a 的值

a = 2

if ( a in list ):

print (“3 - 变量 a 在给定的列表中 list 中”)

else:

print (“3 - 变量 a 不在给定的列表中 list 中”)

以上实例输出结果:

c35c

1 - 变量 a 不在给定的列表中 list 中

2 - 变量 b 不在给定的列表中 list 中

3 - 变量 a 在给定的列表中 list 中

Python身份运算符

身份运算符用于比较两个对象的存储单元

运算符 描述 实例

is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

以下实例演示了Python所有身份运算符的操作:

#!/usr/bin/python3

a = 20

b = 20

if ( a is b ):

print (“1 - a 和 b 有相同的标识”)

else:

print (“1 - a 和 b 没有相同的标识”)

if ( id(a) == id(b) ):

print (“2 - a 和 b 有相同的标识”)

else:

print (“2 - a 和 b 没有相同的标识”)

# 修改变量 b 的值

b = 30

if ( a is b ):

print (“3 - a 和 b 有相同的标识”)

else:

print (“3 - a 和 b 没有相同的标识”)

if ( a is not b ):

print (“4 - a 和 b 没有相同的标识”)

else:

print (“4 - a 和 b 有相同的标识”)

以上实例输出结果:

1 - a 和 b 有相同的标识

2 - a 和 b 有相同的标识

3 - a 和 b 没有相同的标识

4 - a 和 b 没有相同的标识
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: