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 取反。
重点需记住转换
  1. 字符串转数字

  2. 数字转字符串

  3. 空字符串 / 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 #正确
posted @ 2024-09-25 20:37  jhchena  阅读(4)  评论(0编辑  收藏  举报