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 #正确

浙公网安备 33010602011771号