算术运算符与数值一起使用来执行常见的数学运算:
运算符 | 名称 | 实例 |
---|---|---|
+ | 加法运算符 | 10 + 3 = 13 |
- | 减法运算符 | 10 - 3 = 7 |
* | 乘法运算符 | 10 * 3 = 30 |
/ | 除法运算符 | 10 / 2 = 5.0 —>返回浮点数 |
% | 求模运算符 | 10 % 3 = 1 —>返回除法的余数 |
// | 整除运算符 | 10 // 3 = 3 —>代表除以并保留整数 |
** | 次幂运算符 | 10**3 = 1000 |
注意事项:
//初始化变量a和b
a = 10
b = 3
// 打印输出(a//b,a%b)
print(divmod(a, b))
// 输出值为(3,1)即---> (a//b,a%b)
# 语句
from decimal import Decimal
# 使用Decimal()计算两数据之差
Decimal('数据1')-Decimal('数据2')
比较运算符用于比较两个值:
运算符 | 名称 | 实例 |
---|---|---|
== | 相等 | 3 == 3 —>返回值:True |
!= | 不相等 | 3 != 3 —>返回值:False |
> | 大于 | 3 > 2 —>返回值:True |
< | 小于 | 3 < 2 —>返回值:False |
>= | 大于等于 | 3 >= 2 —>返回值:True |
<= | 整小于等于 | 3 <= 2 —>返回值:False |
注意事项:
赋值运算符用于为变量赋值:
运算符 | 名称 | 实例 | 等同于 |
---|---|---|---|
= | 赋值运算符 | a = 1 |
a = 1 |
+= | 加法赋值运算符 | a += 1 |
a = a + 1 |
-= | 减法赋值运算符 | a -= 1 |
a = a - 1 |
*= | 乘法赋值运算符 | a *= 1 |
a = a * 1 |
/= | 除法赋值运算符 | a /= 1 |
a = a / 1 |
%= | 取余数赋值运算符 | a %= 1 |
a = a % 1 |
//= | 取整除赋值运算符 | a //= 1 |
a = a // 1 |
**= | 幂赋值运算符 | a **= 1 |
a = a ** 1 |
注意事项:
逻辑运算符用于组合条件语句:
运算符 | 名称 | 描述 | 实例 |
---|---|---|---|
and | 逻辑与运算符 | 如果两个语句都为真,则返回 True | 3 > 2 and 2 < 3 —>返回值:True |
or | 逻辑或运算符 | 如果其中一个语句为真,则返回 True | 3 > 2 and 2 > 3 —>返回值:True |
not | 逻辑非运算符 | 反转结果,如果结果为 true,则返回 False | not(3 > 2 and 2 < 3) —>返回值:False |
注意事项:
# 输出打印逻辑与条件表达式结果(同真则真)
print(10 and 20) # 输出结果 20,(非零数字布尔值--->True,所以10和20都为True,程序执行到20时输出结果)
# 输出打印逻辑与条件表达式结果(一假则假)
print(0 and 20)# 输出结果 20,(数字0布尔值--->False,程序执行到0时输出结果)
# 输出打印逻辑或条件表达式结果(一真则真)
print(10 or 20) # 输出结果 10,(数字10--->True,程序执行到10时输出结果)
位运算符用于比较(二进制)数字:
运算符 | 名称 | 描述 | 实例 (二进制数) |
---|---|---|---|
& | 按位与运算符 | 两者都为1才为1,否则为0 | (0011 1100 & 0000 1101)–>0000 1100 |
I | 按位或运算符 | 只有一个为1则为1,否则为0 | (0011 1100 I 0000 1101)–>0011 1101 |
^ | 按位异或运算符 | 两者相等则为0,否则为1 | (0011 1100 ^ 0000 1101)–>0011 0001 |
成员资格运算符用于判断序列是否在对象中出现:
运算符 | 描述 | 实例 |
---|---|---|
in | 判断某个值是否在指定序列中,在则返回True | x in y |
not in | 判断某个值是否在指定序列中,不在则返回True | x not in y |
身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置:
运算符 | 描述 | 实例 |
---|---|---|
is | 判断两个对象的内存地址是否一致,是则返回True | x is y |
is not | 判断两个对象的内存地址是否不一致,不是则返回True | x is not y |
注意事项:
语句:
# 三目运算符,如果exp1-->True-->exp2,否则-->exp3
True_exp2 if exp1 else False_exp3
下表列出了从 最高到最低优先级 的所有运算符。优先级高的运算符优先计算或处理,同级别 的按从左往右的顺序计算(赋值运算符 除外,它是按从 右往左 的顺序)
判断 “amy” 是否在[“bob”,“tony”,“Lisa”,“Steven”] 里面如果在则输出’amy 在逻辑大家庭’,否则输出’ amy 不在…好难过
# 初始化列表logic_family,并添加元素"bob" ,"tony","Lisa","Steven";
logic_family = ["bob", "tony", "Lisa", "Steven"]
# 初始化teacher_name,并赋值"amy"
teacher_name = "amy"
# 判断"amy"是否在logic_family列表内
print(f"{teacher_name}在逻辑大家庭") if teacher_name in logic_family else print(f"{teacher_name}不在...好难过!!")
‘ax’<’xa’ 为True 还是False?为什么?
答:‘ax’<’xa’为False,字母比较大小是按照ASCII逐个比较的。
以下程序如果输入666执行那个语句?为什么?
temp = input(‘请输入:’)
if temp == ‘Yes’ or ‘yes’:
print(‘if执行了!’)
else:
print(‘else执行了!’)
答:执行了if语句。
is 与==的区别?
答:is 是判断两对象内存地址是否一致,而==则是判断两对象值是否相等
用户输入a,b。
当a 与b 都不为0 时则输出a 与b 做商;
否则输出a与b 的乘积。
# 初始化变量a和b,使用输入函数为a和b赋值,并将输出结果强转成整型
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
# 判断a与b是否都不为0
if a*b != 0:
print(a/b) # 如果不为零则输出a与b的商
else:
print(a*b) # 否则输出a与b的乘积
基于题5,使用三目运算符输出a,b 较大的数
# 初始化变量a和b,使用输入函数为a和b赋值,并将输出结果强转成整型
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
# 判断a与b的大小,并输出较大的数
print(a) if a > b else print(b)