自学python记录_(4)运算符

北城余情 提交于 2020-02-17 02:19:18

python语言中一共存在七种运算符,他们分别为

1、算术运算符

我更倾向于叫做四则运算,你懂的,包含加减乘除,但是不限于这些,还有幂指数运算、取余、取整

print(3+2)
print(3-2)
print(3*2)
print(3/2)

print(3**2)
print(3%2)
print(3//2)

2、关系运算符

就是比较的意思,>、<、==、!=(<>)、、>=、<= 也就这六种关系
大于、小于、等于、不等于(有两种表达方式)、大于等于、小于等于

3、赋值运算符

赋值就是等于,表达方式有七种,各有各存在的好处
a = 9 等于 ,没得说
a += b 加法赋值 等同于 a = a + b
a -= b 减法赋值 等同于 a = a - b
a *= b 乘法赋值 等同于 a = a * b
a /= b 除法赋值 等同于 a = a / b
a %= b 取余赋值 等同于 a = a % b
a //= b 取整赋值 等同于 a = a//b
a **= b 幂赋值 等同于 a = a ** b
这七种写算法的时候,经常会用到的运算,熟记就行

4、逻辑运算符

逻辑运算符特别好玩,运算的前后都是表达式
与或非三个小布丁,解释起来非常麻烦,看一下效果吧
表达式1 and 表达式2

如果1为真 则输出2的结果,否则输出1的结果,简记就是“真后假前”

print(12>5 and 8-5)
print(5-8 and 5+2)
print(1 and 5+2)
print(0 and 5+2)
print(-5 and 9)  # -5 也为真,只有0才表示假
print(0 and 9)
print(1>2 and 5)  # 1>2 是关系运算,输出结果为False,而不是0

表达式1 or 表达式2
和and 恰恰相反,“真前假后”

print(9 or 8)
print(-5 or 8)
print(5>5 or 4>2)

not 表达式1
not就很简单了,取反即可,真的变假 ,假的变真,真作假时假亦真 假作真时真亦假

print(not 7<8)
print(not 7>8)
print(not 8)        # 8为非0数字,所以8表示真,not 8就为False

5、位运算符

位运算符是针对二进制的数字来计算的
与(&):有0则0
运算两边的数字只要有0则结果也为0,因为“与”的意义在于,两边同时满足才输出1,注意是输出1,不是输出true
或(|):有1则1
或操作理解也非常简单,或者--顾名思义,我俩其中有一个成立就行,所以我俩其中有一个为1就得。
异或(^):同样为0,异样为1
这个理解起来更加简单,异或--顾名思义,不一样,只要不一样才成立,我俩必须一个为1一个0,结果才等于1,既然有异或,那么“同或”如何实现呢?“同或”没有规定的表达式,但是实现起来也方法挺多,比如再将结果与1异或一次,0就变1了,1就变0了,这个是我能想到最装逼的方法了,简单点就用1做减法,1-0就得1了,1-1就得0了,不能使用“not”操作,因为not的结果是“真假”,而非“10”

print(1^0)
print(1^0^1)

取反(~):取反的操作比较麻烦,因为我也搞得有点昏,只是记住这个公式就行;~n = -(n+1),

参考博文:对Python中的~(按位取反)运算的理解

所以你会发现print(~1)居然输出“-2”,麻烦得很,不是写文章需要,我也不会去管的。
千万不要把“布尔非-not”与“取反-~”运算搞混了,前面这个是逻辑运算,后面这个是位运算
左移(<<):将二进制的数字左移若干位,高位丢弃,低位补0
右移(>>):将二进制的主子右移若干位,高位补0,低位丢弃
所以计算的时候,都是把数字先转换为二进制再计算

6、成员运算符

这个运算挺简单,就两个“in” 和“not in”,顾名思义,一个在一个不在,运算的对象只有三个:列表,字符串,元组
常用的for循环就用到了这个玩意儿,比如

for i in range(10):
    print(i)

再比如:

a = "123"
print("3" in a)     #就是true
print("daming" not in a)

7、身份运算符

这个用的比较少了,两个操作“is”和“is not”,比较的是两个对象的存储单元,解释起来比较抽象,举个例子

a = 20
b = 20
a is b      # true
a is not b  # false

注意is与“关系运算-等于==”的区别,is用来判断两个变量引用对象是都为同一个,“==”用来判断引用变量的值是否相等,举个例子

p = [1,2,3]
q = p
q is p      # true
q == p      # true

t = p[:]
t is p      # false
t == p      # true

以上就是python所有运算符的介绍了,用不用记着全部因人而异,看见了也就是时间花多花少而已,我特别感兴趣的是与或非的操作,真的很好玩,与真后假前,或真前假后,操作也是千变万化,表达式既可以是运算,也可以是数字,甚至可以是字符串

print(1>0 and "daming")

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!