Python 基础

1.6 运算符

2023-02-20  本文已影响0人  拖延症患者10

1.6.1 算术运算符

运算符 描述 实例:以a=10,b=20为例计算
+ 两个对象相加a+b输出结果为30
- 得到负数或是一个数减去另一个数a-b输出结果-10
* 两个数相乘或是返回一个不被重复若干次的字符串a*b输出结果200
/ b / a输出结果2,两个int类型相除返回数据类型为float
// 取整数 返回商的整数部分。例:9//2输出结果4;9.0//2.0输出结果4.0
% 取余数 返回除法的余数b % a输出结果0
** 指数 a**b为10的20次方,输出结果100000000000000000000

注意:混合运算时优先级顺序为 **高于 * / % //高于+ -,为了避免歧义,建议使用()来处理运算的优先级,而且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算

num1 = 3
num2 = 5
result = num1 + num2
print("结果为:", result)
  • 相加输出结果:

结果为: 8

num1 = 3
num2 = 5
result = num1 - num2
print("结果为:", result)
  • 相减输出结果:

结果为: -2

num1 = 3
num2 = 5
result = num1 * num2
print("结果为:", result)
  • 相乘输出结果:

结果为: 15

# 两个 int 类型的数据进行相除操作,那么返回的类型是 float
num1 = 3
num2 = 5
result = num1 / num2
print("结果为:", result, type(result))
  • 相除输出结果:

结果为: 0.6 <class 'float'>

# 修改变量保存的数据
num1 = 3
num2 = 2
result = num1 // num2
print("结果为:", result, type(result))
  • 求商输出结果:

结果为: 1 <class 'int'>

num1 = 3
num2 = 2
result = num1 % num2
print("结果为:", result, type(result))
  • 求余输出结果:

结果为: 1 <class 'int'>

num1 = 3
num2 = 2
result = num1 ** num2
print("结果为:", result, type(result))
result = num2 ** num1
print("结果为:", result, type(result))
  • 求幂输出结果:

结果为: 9 <class 'int'>
结果为: 8 <class 'int'>

1.6.2 赋值运算符:=

有等号执行等号右边的代码,把结果再赋值给等号左边的变量

# 定义一个变量,存储数据10
num1 = 10
print(num1, type(num1))
  • 输出结果:

10 <class 'int'>

num2 = 10 + 20 * 3 / 5
print(num2, type(num2))
  • 输出结果:

22.0 <class 'float'>

python 执行可以给多个变量,分别赋值

str1, str2 = "hello", "world"
print(str1, str2)
  • 输出结果:

hello world

注意点:python 里面的赋值运算符可以执行连续赋值

num5 = num4 = num3 = 3.4
print(num3, num4, num5)
  • 输出结果:

3.4 3.4 3.4

1.6.3 复合赋值运算符

运算符 描述 实例
+ = 加法赋值运算符 c + = a 等效于 c = c + a
- = 减法赋值运算符 c - = a 等效于 c = c - a
* = 乘法赋值运算符 c * = a 等效于 c = c * a
/ = 除法赋值运算符 c / = a 等效于 c = c / a
% = 取模赋值运算符 c % = a 等效于 c = c % a
** = 幂赋值运算符 c ** = a 等效于 c = c ** a
// = 取整除赋值运算符 c // = a 等效于 c = c // a

注意:在Python中不支持 + + 或者 - -

num1 = 3
num2 = 4
num1 += num2  # --> num1 = num1 + num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 7 num2的值: 4

num1 = 3
num2 = 4
num1 -= num2  # --> num1 = num1 - num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 3 num2的值: 4

num1 = 3
num2 = 4
num1 *= num2  # --> num1 = num1 * num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 12 num2的值: 4

num1 = 3
num2 = 4
num1 /= num2  # --> num1 = num1 / num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 3.0 num2的值: 4

num1 = 3
num2 = 4
num1 %= num2  # --> num1 = num1 % num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 3.0 num2的值: 4

num1 = 3
num2 = 4
num1 **= num2  # --> num1 = num1 ** num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 81.0 num2的值: 4

num1 = 3
num2 = 4
num1 //= num2  # --> num1 = num1 // num2
print("num1的值:", num1, "num2的值:", num2)
  • 输出结果:

num1的值: 20.0 num2的值: 4

1.6.4 比较运算符

运算符 描述 示例
= = 检查两个操作数的值是否相等,如果相等,则条件变为真 如 a = 3,b = 3,则(a = = b)为True
! = 检查两个操作数的值是否相等,如果不相等,则条件变为真 如 a = 1,b = 3,则(a ! = b)为True
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立 如 a = 7,b = 3,则(a > b)为True
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立 如 a = 7,b = 3,则(a < b)为False
> = 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立 如 a = 3,b = 3,则(a > = b)为True
< = 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立 如 a = 3,b = 3,则(a < = b)为True
num1 = 3
num2 = 2
if num1 >= num2:
    print("成立")
  • 输出结果:

成立

num1 = 3
num2 = 2
result = num1 <= num2
print(result, type(result))
  • 输出结果:

False <class 'bool'>

num1 = 3
num2 = 2
result = num1 > num2
print(result, type(result))
  • 输出结果:

True <class 'bool'>

num1 = 3
num2 = 2
result = num1 < num2
print(result, type(result))
  • 输出结果:

False <class 'bool'>

num1 = 3
num2 = 2
result = num1 == num2
print(result, type(result))
  • 输出结果:

False <class 'bool'>

num1 = 3
num2 = 2
result = num1 != num2
print(result, type(result))
  • 输出结果:

True <class 'bool'>

总结:比较运算符返回的类型是bool类型,比较运算符一般都是结合if判断来使用,True表示条件成立,if语句里面的代码可以执行,False表示条件不成立,if语句里面的代码不执行。

1.6.5 逻辑运算符

学习逻辑运算符的目的:通过if语句可以一次性判断多个条件并且多个条件要有一定的关系。

运算符 逻辑表达式 描述 实例
and x and y 布尔“与”:如果x为False,x and y返回False,否则返回y的值 True and False,返回False
or x or y 布尔“或”:如果x为True,x or y返回True,否则返回y的值 False or True,返回True
not not x 布尔“非”:如果x为True,not x返回False,否则返回True not True返回False,not False返回True
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
  • and 表示并且关系,所有的条件都要成立
if name == "肖铎" and age == 20:
    print("找到你了!")

输出结果:

请输入您的姓名:肖铎
请输入您的年龄:25

  • or 表示或者关系,or 左右有其他一个条件成立,if语句就会执行
if name == "肖铎" or age == 20:
    print("找到你了!")

输出结果:

请输入您的姓名:肖丞
请输入您的年龄:20
找到你了!

num = 0
  • not 表示取反,Ture 取反成 False,False 取反成 True
if not num > 2:
    print("成立")

输出结果:

成立

result = not num > 2
print(result)

输出结果:

True

上一篇 下一篇

猜你喜欢

热点阅读