+--*/--基本运算符

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

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

1.算数运算符(可以跟= 形成赋值运算符)

代码

a = 23.6
b = 14.7
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
print(a//b)
print(a**b)
print("======================")
a = 10
b = 2
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
print(a//b)
print(a**b)

结果

38.3
8.9
346.92
1.60544217687
8.9
1.0
1.51987000319e+20
======================
12
8
20
5
0
5
100

总结

+加 - 两个对象相加a + b 输出结果 30
-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -10
*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 200
/除 - x除以yb / a 输出结果 2(如果两个都是整数,跟//等效,否则,正常触法)
%取模 - 返回除法的余数b % a 输出结果 0(如果余数不是整数,结果仍然是类似于除法结果)
**幂 - 返回x的y次幂a**b 为10的20次方, 输出结果 100000000000000000000
//取整除 - 返回商的整数部分9//2 输出结果 4 , 9.0//2.0 输出结果 4.0(永远取整数结果)

 

算术运算符跟赋值运算符可以搭配形成混合运算符。如 a+=b 它等价于 a = a + b

2.关系运算符

代码

a = 2
b = 1
print(a > b)
print(a < b)
print(a <> b)
print(a == b)
print(a != b)
print(a >= b)
print(a <= b)

结果

True
False
True
False
True
True
False

总结

==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 True.
<>不等于 - 比较两个对象是否不相等(a <> b) 返回 True。这个运算符类似 != 。
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。(a < b) 返回 True。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。

注意

它的状态的首字母都是大写的,这是跟java等语言的不同点

3.位运算符

代码

a = 2#00000010
b = 1#00000001
print(a & b)
print(a | b)
print(a ^ b)
print(~a)
print(a>>1)
print(a<<2)

结果

0
3
3
-3
1
8

总结

&按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100(一0则0)
|按位或运算符(a | b) 输出结果 61 ,二进制解释: 0011 1101(一1则1)
^按位异或运算符(a ^ b) 输出结果 49 ,二进制解释: 0011 0001(相同则0)
~按位取反运算符(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。(01互换)
<<左移动运算符a << 2 输出结果 240 ,二进制解释: 1111 0000(每一位往左移动n位)
>>右移动运算符a >> 2 输出结果 15 ,二进制解释: 0000 1111(每一位往右移动n位)

这个是跟c语言一样的,主要是把两个量,转为二进制进行位的操作

4.逻辑运算符

代码

if 0 and 1:
    print("0 and 1 False")
print("0 and 1",(0 and 1))
print("False and 1",(False and 1))
print("True and 1",(True and 1))
print("\n")
if 2 or 3:
    print("2 and 3 True")
print("2 or 3",(2 or 3))
print("True or 3",(True or 3))
print("False or 3",(False or 3))
print("\n")
if not 0:
    print("not 0 True")

print("not 0",(not 0))
print("not False",(not False))
print("not 3",(not 3))
print("not True",(not True))

结果

('0 and 1', 0)
('False and 1', False)
('True and 1', 1)


2 and 3 True
('2 or 3', 2)
('True or 3', True)
('False or 3', 3)


not 0 True
('not 0', True)
('not False', True)
('not 3', False)
('not True', False)

总结

and布尔"与" - 如果x为False,x and y返回False,否则它返回y的计算值。(a and b) 返回 true。
or布尔"或" - 如果x是True,它返回True,否则它返回y的计算值。(a or b) 返回 true。
not布尔"非" - 如果x为True,返回False。如果x为False,它返回True。not(a and b) 返回 false

5.成员运算符

代码

if 1 in (1,2,3,4):
    print("1 in (1,2,3,4)")
else:
    print("1 not in (1,2,3,5)")
if 1 not in (2,3,3):
    print("1 not in (2,3,4)")
else:
    print("1 in (2,3,4)")

结果

1 in (1,2,3,4)
1 not in (2,3,4)

结论

in如果在指定的序列中找到值返回True,否则返回False。x 在 y序列中 , 如果x在y序列中返回True。
not in如果在指定的序列中没有找到值返回True,否则返回False。x 不在 y序列中 , 如果x不在y序列中返回True。

6.身份运算符

代码

a ="hahaha"
b = "hahaha"
print(a is b)
print(id(a) == id(b))

结果

a ="hahaha"
b = "hahaha"
print(a is b)
print(id(a) == id(b))

总结

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

感觉它有点像是判断两个值是否相等。具体有什么用处还不明白,等以后用到再深入研究吧

 

转载于:https://www.cnblogs.com/zhangshuli-1989/p/vz_1561181.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值