100天带你精通Python——第3天Python运算符

请添加图片描述


前言

运算符是编程语言中用于执行特定操作的符号或关键字。它们可以用于执行算术运算、逻辑运算、比较以及其他各种操作。

算术运算符:

  • +:加法运算,用于将两个值相加。
  • -:减法运算,用于将右操作数从左操作数中减去。
  • *:乘法运算,用于将两个值相乘。
  • /:除法运算,用于将左操作数除以右操作数(结果始终是浮点数)。
  • //:整数除法运算,用于将左操作数除以右操作数并返回整数部分。
  • %:取模运算,返回左操作数除以右操作数的余数。
  • **:幂运算,返回左操作数的右操作数次幂。
# 加法运算
result_addition = 10 + 5
print("加法运算结果:", result_addition)  # 输出: 15

# 减法运算
result_subtraction = 10 - 5
print("减法运算结果:", result_subtraction)  # 输出: 5

# 乘法运算
result_multiplication = 10 * 5
print("乘法运算结果:", result_multiplication)  # 输出: 50

# 除法运算
result_division = 10 / 5
print("除法运算结果:", result_division)  # 输出: 2.0

# 整数除法运算
result_integer_division = 10 // 5
print("整数除法运算结果:", result_integer_division)  # 输出: 2

# 取模运算
result_modulus = 10 % 3
print("取模运算结果:", result_modulus)  # 输出: 1

# 幂运算
result_exponentiation = 2 ** 3
print("幂运算结果:", result_exponentiation)  # 输出: 8

比较运算符:

  • ==:检查两个值是否相等。
  • !=:检查两个值是否不相等。
  • >:大于,检查左操作数是否大于右操作数。
  • <:小于,检查左操作数是否小于右操作数。
  • >=:大于等于,检查左操作数是否大于或等于右操作数。
  • <=:小于等于,检查左操作数是否小于或等于右操作数。
# 检查两个值是否相等
a = 5
b = 5
result_equal = a == b
print("检查是否相等:", result_equal)  # 输出: True

# 检查两个值是否不相等
result_not_equal = a != b
print("检查是否不相等:", result_not_equal)  # 输出: False

# 检查左操作数是否大于右操作数
result_greater_than = a > b
print("检查是否大于:", result_greater_than)  # 输出: False

# 检查左操作数是否小于右操作数
result_less_than = a < b
print("检查是否小于:", result_less_than)  # 输出: False

# 检查左操作数是否大于或等于右操作数
result_greater_than_or_equal = a >= b
print("检查是否大于等于:", result_greater_than_or_equal)  # 输出: True

# 检查左操作数是否小于或等于右操作数
result_less_than_or_equal = a <= b
print("检查是否小于等于:", result_less_than_or_equal)  # 输出: True

逻辑运算符:

  • and:逻辑与,如果两个操作数都为真,则结果为真。
  • or:逻辑或,如果两个操作数中至少一个为真,则结果为真。
  • not:逻辑非,用于反转操作数的逻辑值。
# 逻辑与运算
x = 5
y = 10
result_and = (x < 10) and (y > 5)
print("逻辑与运算结果:", result_and)  # 输出: True,因为两个条件都为真

# 逻辑或运算
result_or = (x < 10) or (y < 5)
print("逻辑或运算结果:", result_or)  # 输出: True,因为至少一个条件为真

# 逻辑非运算
result_not = not (x == 5)
print("逻辑非运算结果:", result_not)  # 输出: False,因为x等于5,取非后为False


赋值运算符:

  • =:将右操作数的值赋给左操作数。
  • +=、-=、*=、/=:分别表示加、减、乘、除后再赋值。
  • //=、%=、**=:分别表示整数除法、取模、幂后再赋值。
# 赋值运算符
x = 10
print("初始值 x:", x)  # 输出: 初始值 x: 10

# += 加后再赋值
x += 5
print("加后再赋值 x:", x)  # 输出: 加后再赋值 x: 15

# -= 减后再赋值
x -= 3
print("减后再赋值 x:", x)  # 输出: 减后再赋值 x: 12

# *= 乘后再赋值
x *= 2
print("乘后再赋值 x:", x)  # 输出: 乘后再赋值 x: 24

# /= 除后再赋值
x /= 4
print("除后再赋值 x:", x)  # 输出: 除后再赋值 x: 6.0

# //= 整数除法后再赋值
x //= 2
print("整数除法后再赋值 x:", x)  # 输出: 整数除法后再赋值 x: 3.0

# %= 取模后再赋值
x %= 2
print("取模后再赋值 x:", x)  # 输出: 取模后再赋值 x: 1.0

# **= 幂运算后再赋值
x **= 3
print("幂运算后再赋值 x:", x)  # 输出: 幂运算后再赋值 x: 1.0


位运算符:

  • &:按位与运算。
  • |:按位或运算。
  • ^:按位异或运算。
  • ~:按位取反运算。
  • <<:左移位运算。
  • >>:右移位运算。
# 按位与运算
a = 0b1100  # 12的二进制表示为 1100
b = 0b1010  # 10的二进制表示为 1010
result_and = a & b
print("按位与运算结果:", bin(result_and))  # 输出: 按位与运算结果: 0b1000,即 8

# 按位或运算
result_or = a | b
print("按位或运算结果:", bin(result_or))  # 输出: 按位或运算结果: 0b1110,即 14

# 按位异或运算
result_xor = a ^ b
print("按位异或运算结果:", bin(result_xor))  # 输出: 按位异或运算结果: 0b0110,即 6

# 按位取反运算
result_not_a = ~a
print("按位取反运算结果:", bin(result_not_a))  # 输出: 按位取反运算结果: -0b1101,即 -13

# 左移位运算
result_left_shift = a << 2
print("左移位运算结果:", bin(result_left_shift))  # 输出: 左移位运算结果: 0b110000,即 48

# 右移位运算
result_right_shift = a >> 2
print("右移位运算结果:", bin(result_right_shift))  # 输出: 右移位运算结果: 0b11,即 3


成员运算符:

  • in:如果指定的值在序列中找到,则返回 True,否则返回 False。
  • not in:如果指定的值不在序列中找到,则返回 True,否则返回 False。
# 字符串示例
string = "Hello, world!"
print("l" in string)       # 输出: True,因为字符'l'在字符串中
print("good" not in string) # 输出: True,因为'good'不在字符串中

# 列表示例
my_list = [1, 2, 3, 4, 5]
print(3 in my_list)       # 输出: True,因为3在列表中
print(6 not in my_list)   # 输出: True,因为6不在列表中

# 元组示例
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple)       # 输出: True,因为3在元组中
print(6 not in my_tuple)   # 输出: True,因为6不在元组中

# 字典示例
my_dict = {'a': 1, 'b': 2, 'c': 3}
print('a' in my_dict)      # 输出: True,因为键'a'在字典中
print(2 in my_dict.values()) # 输出: True,因为值2在字典的值中
print('d' not in my_dict)  # 输出: True,因为键'd'不在字典中


身份运算符:

  • is:如果两个操作数引用同一个对象,则返回 True。
  • is not:如果两个操作数引用的不是同一个对象,则返回 True。
# 整数对象示例
a = 10
b = 10
print(a is b)      # 输出: True,因为a和b引用了同一个整数对象

# 字符串对象示例
str1 = "hello"
str2 = "hello"
print(str1 is str2)  # 输出: True,因为str1和str2引用了同一个字符串对象

# 列表对象示例
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 is list2)  # 输出: False,因为list1和list2虽然内容相同,但是引用了不同的列表对象

# 可变对象示例
list3 = [1, 2, 3]
list4 = list3
print(list3 is list4)  # 输出: True,因为list3和list4引用了同一个列表对象

# 不可变对象示例
tuple1 = (1, 2, 3)
tuple2 = (1, 2, 3)
print(tuple1 is tuple2)  # 输出: False,因为tuple1和tuple2虽然内容相同,但是引用了不同的元组对象

三元条件运算符:

用于简化if-else语句。
示例:x if condition else y,如果条件为True,则返回x,否则返回y。


# 判断数字是否为正数
num = 10
result = "正数" if num > 0 else "非正数或零"
print(result)  # 输出: 正数,因为num是正数

# 判断字符串的长度是否大于5
string = "Hello"
result = "字符串长度大于5" if len(string) > 5 else "字符串长度不大于5"
print(result)  # 输出: 字符串长度不大于5,因为字符串长度不大于5

# 判断奇偶数
number = 7
result = "奇数" if number % 2 != 0 else "偶数"
print(result)  # 输出: 奇数,因为number是奇数

总结

算术运算符:用于执行基本的数学运算,包括加减乘除等。

+、-、*、/、%、//、**

比较运算符:用于比较两个值的大小关系,返回布尔值。

==、!=、>、<、>=、<=

逻辑运算符:用于组合多个条件,并返回布尔值。

and、or、not

赋值运算符:用于将值赋给变量,或对变量进行运算后再赋值。

=、+=、-=、*=、/=、//=、%=、**=

位运算符:用于对二进制数字进行位级别的操作。

&、|、^、~、<<、>>

成员运算符:用于检查指定的值是否存在于序列或容器中。

in、not in

身份运算符:用于检查两个对象是否引用自同一内存位置。

is、is not

三元条件运算符:用于简化if-else语句。

x if condition else y

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值