唉 断了一周的学习 又玩了一个国庆 也就是鸽置了两周
看看群友们的讨论 这群人的Python基础竟然如此牢固
进群以为大家都是萌新 后来发现只有我是。。。 不吐槽了,,,撸起袖子加油学
话说这几天下雨 天还有点冷
凛冬将至 Winter is coming, Because we are coming.
>>> print(1 > 2 > 3)
False
>>> print(1 < 3 > 2)
True
>>> print(1 < 2 > 3)
False
>>> print(3 > 2 > 2.5)
False
这个我理解一直有误区 应该等同与下面吧 很容易误以为是前俩个比较后,最大的那个再与第三个比较
然而第四个结果直接推翻了 果然机器不会错 出错应该是人
print(1 > 2 and 2 > 3)
print(1 < 3 and 3 > 2)
print(1 < 2 and 2 > 3)
print(3 > 2 and 2 > 2.5)
算术运算符
1.+
拼接字符串
数学中加法运算
2.-
数学中减法运算
不支持字符串运算
3.*
数学中乘法运算
字符串与数字相乘
>>> print('-'*5)
-----
4./
>>> print(12/4)
3.0
>>> print(12/7)
1.7142857142857142
除法运算符总会返回一个浮点类型的值
5.**
>>> print(2**4)
16
取1个数几次幂,也就是一个数的几次方
6.//
>>> print(12//5)
2
整除只会保留计算后的整数位,只会返回一个整型
7.开平方根
>>> print(16**0.5)
4.0
0.5 => 1/2 16的1/2次幂 即平方根
8.%
>>> print(12%5)
2
求模(取余数)
赋值运算符
将一个数据赋值给一个变量,由=连接,=就是赋值运算符
x += 3 相当于 x = x + 3
x -= 3 相当于 x = x - 3
x *= 3 相当于 x = x * 3
x /= 3 相当于 x = x / 3
x //= 3 相当于 x = x // 3
x %= 3 相当于 x = x % 3
比较运算符
比较运算符就是用来比较两个值之间的关系,总会返回一个布尔值
>>> print("abc">"ab")
True
>>> max('python Hello')
'y'
>>> ord('P')
80
>>> ord('p')
112
>>> min('python Hello')
' '
>>> ord(' ')
32
>>>
字符串之间的比较是按ascll码来比,如果一个字符串有多个字符,那么比较的方式是对位比较,也就是按位置一个一个的比。如果前面的能比出结果就输出相应的结果,如果不能比出结果,继续比,直到比出结果
如果我们想比较id 怎么办? 可以用到 is 和 is not
>>> a = 123
>>> b = a
>>> print(id(a))
1854438240
>>> print(id(b))
1854438240
>>> print(a is b)
True
>>>
is 比较两个对象是否是一个对象 比较的是对象的id
is not 比较两个对象是否不是同一个对象,比较的是对象的id
逻辑运算符
- 逻辑非 not
可以对符号右侧的值进行非运算
对于非布尔值,会先将其转换为布尔值,然后在取反
>>> a = 1
>>> a = not a
>>> print(a)
False
>>> a = None
>>> a = not a
>>> print(a)
True
例如 0 空串 None还有一些其他是空性的值会转换成False,剩下的都是True
- 逻辑与 and
可以对符号两侧的值进行与运算
只有在符号两侧都是True的情况下才会返回True,只要有一个Fasle就会返回False(说白了与运算就是找Fasle)
>>> a = True and True
>>> print(a)
True
>>> True and print("22")
22
- 逻辑或 or
or 可以对符号两侧的值进行或运算
或运算两个值只要有一个True,就会返回True, 或运算就是找True
>>> a = False or True
>>> print(a)
True
>>> False or print("11")
11
非布尔值的与或运算
当我们对非布尔值进行与或运算的时候,Python会将其当做布尔值进行运算,最终会返回原值
- 与运算的规则
与运算找Fasle,如果第一个值是Fasle,就不看第二个值
如果第一个值不是False,则直接返回第二个值
>>> print(0 and 2)
0
>>> print(1 and 0)
0
>>> print(1 and 4)
4
- 或运算的规则
或运算就是找True,如果第一个值是True,则不看第二个值
如果第一个值是Fasle,则返回第二个值
>>> print(1 or 3)
1
>>> print(0 or 3)
3
>>> print(None or 0)
0
条件运算符
- 又叫三元运算符
- 语法: 语句1 if 条件表达式 else 语句2
条件表达式成立 执行语句1 条件表达式不成立 执行语句2
>>> a = 30
>>> b = 40
>>> print('a的值大') if a>b else print('b的值大')
b的值大
//比较三个数哪个最大
>>> a = 30
>>> b = 40
>>> c = 20
>>> max=a if (a>b and a>c) else (b if b>c else c)
>>> print(max)
40
//巧妙的在 首先判断a是不是最大值后排除a或就是a 然后 最大值就常规的两数比较 四数 五数比较最大值 也可以这样子
运算符的优先级
>>> print(3 and 4)
4
>>> print(2 or 3)
2
>>> print(2 or 3 and 4 )
2
说明and的优先级要比or高
1.png
越往下,优先级越高
>>> print(not 4>2 and 5<6 or 3<4)
True
// 首先 4 > 2 的非 是 False
// 之后直接看3 < 4
// 所以 True