09 运算符
运算符
【1】算数运算符
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 1+1 | 2 |
- | 减 | 1-1 | 0 |
* | 乘 | 1*3 | 3 |
/ | 除法(和数学中的规则一样) | 4/2 | 2 |
// | 整除(只保留商的整数部分) | 7 // 2 | 3 |
% | 取余,即返回除法的余数 | 7 % 2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方,即平方 | 2 ** 4 | 16,即 24 |
# %取余练习 ,计算100以类的奇数
count = 1
while count <= 100:
val = count % 2
if val == 1:
print(count)
count += 1
#// 与 / 区别
val = 9 / 2
print(val) # 4.5
val = 9 // 2
print(val) # 4
#** 表示平方
val = 2**3
print(val)
#练习 计算1~100所有数相加
total = 0
count = 1
while count <= 100:
total += count
count += 1
【2】赋值运算符
运算符 | 说 明 | 用法举例 | 等价形式 |
---|---|---|---|
= | 最基本的赋值运算 | x = y | x = y |
+= | 加赋值 | x += y | x = x + y |
-= | 减赋值 | x -= y | x = x - y |
*= | 乘赋值 | x *= y | x = x * y |
/= | 除赋值 | x /= y | x = x / y |
%= | 取余数赋值 | x %= y | x = x % y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 取整数赋值 | x //= y | x = x // y |
&= | 按位与赋值 | x &= y | x = x & y |
|= | 按位或赋值 | x |= y | x = x | y |
^= | 按位异或赋值 | x ^= y | x = x ^ y |
<<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
>>= | 右移赋值 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
count += 1 # 等价于:count = count +1
【3】比较运算符
比较运算符 | 说明 |
---|---|
> | 大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< | 小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== | 等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= | 大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= | 小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= | 不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
【4】逻辑运算符
逻辑运算符 | 含义 | 基本格式 | 说明 |
---|---|---|---|
and | 与运算 | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or | 或运算 | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not | 非运算 | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
重点需记住转换
-
字符串转数字
-
数字转字符串
-
空字符串 / 0 转换成 bool 后是 : False
# 一般情况下
if 1 > 0 and 1 < 2:
print("666")
# 二般情况下
##小知识
# -int
# -str
# -bool
# 数字转字符串
v1 = 666
v2 = str(v1)
# 字符串转数字
v1 = "666"
v2 = int(v1)
# 数字转布尔 ,非0 即为True,0为False
v1 = 1
v2 = bool(v1)
# 字符串转布尔 ,非0 即为True,空字符串为:False
v1 = "test"
v2 = bool(v1)
#布尔值转换成其他,了解即可
v1 = True
v2 = int(v1) # 返回 1 ,如果False 返回:0
v2 = str(v1) # 返回 True,如果False 返回: False
or 一般情况
value = 1 or 9
"""
第一个值如果是转换成布尔值,如果是真,则value = 第一值
第一个值如果是转换成布尔值,如果是假,则value = 第二值
如果有多个or 条件,则从左到右依次进行上述流程.
示例:
v1 = 0 or 1
v2 = 8 or 10
v3 = 0 or 9 or 8
"""
value = 0 or 9 or 8 #值为: 9
and 一般情况
"""
如果第一个值转换成布尔值是True,则value = 第二个值
如果第一个值转换成布尔值是False,则value = 第一个值
示例:
v1 = 1 and 9
v2 = 1 and 0
v3 = 0 and 7
v5 = 0 and ""
v5 = 1 and 0 and 9
"""
#综合,一般先看and ,再看or
v1 = 1 and 9 or 0 and 6 # v1值为: 9
运算符 in
in 表示包含
value = "我是中国人"
#判断 '中国是否在value所代指的字符串'中.'中国是否是value所代指的字符串的子序列'
v1 ='中国' in value
#示例
content = input('请输入内容:')
if '退钱' in content:
print ('包含敏感字符')
#示例
while True:
content = input('请输入内容:')
if '退钱' in content :
print('包含敏感字符')
else:
print(content)
break
运算符not in
not in 表示:不包含
13、优先级
- 运算符优先级运算表
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号 和减号 (最后两个的方法名为 + @ 和 -@ |
* / % // | 乘 除 取模 和 取整数 |
+ - | 加法 减法 |
>> << | 右移,左移运算符 |
& | 位 'AND’ |
^| | 位运算符 |
<= < > >= | 比较运算符 |
< > == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is isnot | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
not 2 > 1
not 2 > 1 # 错误
not 2>1 #正确