当前位置: 首页 > news >正文

[Python] 常用运算符

1.算术运算符

算术运算符用来对数字进行数学运算,比如加减乘除等 

算术运算符说明
+

-

*
/除法,两个数相除,结果为浮点数(小数)
//整除,两个数相除,结果为向下取整的整数
%取余,即返回两个数相除的余数
**幂运算,即返回 x 的 y 次方

示例

a = 10 
b = 2
# 12
print(a + b)
# 8
print(a - b)
# 20
print(a * b)
# 5.0
print(a / b)
# 3
print(a // 3)
# 1
print(a % 3)
# 100
print(a**b)

提示Tips

① 当 + 用于数字时表示加法,但是当 + 用于字符串时,它还有拼接字符串的作用

aword = 'Hello'
bword = 'World'
# Hello World
print(aword + ' ' + bword)

② - 除了可以用作减法运算之外,还可以用作负运算(正数变负数,负数变正数)

a = 12
neg_a = -a

b = -85.5
neg_b = -b

# -12
print(neg_a)
# 85.5
print(neg_b)

③ * 除了可以用作乘法运算,还可以用来重复字符串,也就是将n个同样的字符串连接起来 

str1 = 'Hudas437'
# Hudas437Hudas437
print(str1 * 2)

④ 由于开方是次方的逆运算,我们也可以使用 ** 运算符间接地实现开方运算 

# 开方运算
# 9.0
print(81**(1/2))
# 3.0
print(81**(1/4))
# 2.0
print(32**(1/5))

2.比较运算符(关系运算符) 

比较运算符也被称为关系运算符,用于对常量、变量或表达式的结果进行大小比较

如果这种比较是成立的,则返回 True,反之则返回 False

比较运算符说明
==等于,如果 == 两边的值相等,则返回 True,否则返回 False
!=不等于(等价于数学中的 ≠),如果 != 两边的值不相等,则返回 True,否则返回 False
>大于,如果 > 前面的值大于后面的值,则返回 True,否则返回 False
<小于,如果 < 前面的值小于后面的值,则返回 True,否则返回 False
>=大于等于(等价于数学中的 ≥),如果 >= 前面的值大于或者等于后面的值,则返回 True,否则返回 False
<=小于等于(等价于数学中的 ≤),如果 <= 前面的值小于或者等于后面的值,则返回 True,否则返回 False

示例 

a = 1
b = 10
print(a == b)  # False
print(a != b)  # True
print(a > b)   # False
print(a < b)   # True
print(a >= b)  # False
print(a <= b)  # True

3.赋值运算符 

赋值运算符用来把右侧的值传递给左侧的变量

赋值运算符说明用法举例等价说明
=赋值运算x = yx = y
+=加法赋值运算x += yx = x + y
-=减法赋值运算x -= yx = x - y
*=乘法赋值运算x *= yx = x * y
/=除法赋值运算x /= yx = x / y
%=取余数赋值运算x %= yx = x % y
**=幂运算赋值运算x **= yx = x ** y
//=取整数赋值运算x //= yx = x // y

示例1

a = b = c = 100
print(a) # 100
print(b) # 100
print(c) # 100

示例2

a = 2
b = 3

a+=b
# 5
print(a)

a -= b
# 2
print(a)

a *= b
# 6
print(a)

a /= b
# 2.0
print(a)

a %= b
# 2
print(a)

a **= b
# 8.0
print(a)

a //= b
# 2.0
print(a)

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 的结果为真

示例1

age = int(input("请输入年龄:"))
height = int(input("请输入身高:"))
if age>=18 and age<=30 and height >=170 and height <= 185 :
    print("恭喜,你符合报考飞行员的条件")
else:
    print("抱歉,你不符合报考飞行员的条件")

输出以下指令和结果:

示例2

words = "Hello World"

print("----False and xxx-----")
False and print(words)  # False

print("----True and xxx-----")
True and print(words)  # Hello World

print("----False or xxx-----")
False or print(words)  # Hello World

print("----True or xxx-----")
True or print(words)  # True

5.成员运算符 

成员运算符说明
in当在指定的序列中找到值时返回 True,否则返回 False
not in当在指定的序列中没有找到值时返回 True,否则返回 False

示例 

a = 1
b = 2
lists = [1,3,5,7,9]
# True
print(a in lists)
# True
print(b not in lists)

6.身份运算符

身份运算符说明
is判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False
is not判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False

== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象(即是否指向同一个内存地址) 

# 引入time模块
import time
# gmtime()用来获取当前时间
t1 = time.gmtime() 
t2 =  time.gmtime()
# 输出True
print(t1 == t2) 
# 输出False
print(t1 is t2)
# 输出True
print(t1 is not t2)
a = [1,2,3]
b = a 
c = [1,2,3]
# True
print(a is b)
# False
print(a is c)
# True
print(a is not c)

7.位运算符 

按位运算符是把数字看作二进制来进行计算的 

位运算符说明运算规则
&按位“与”参与运算的两个值,对应的两个二进制位都为 1,则结果为 1,否则为 0
|按位“或”参与运算的两个值,对应的两个二进制位有一个为 1 时,结果就为 1
^按位“异或”参与运算的两个值,对应的两个二进制位相异时,结果为1
~按位“取反”参与运算的值,对该值中的每个二进制位取反
<<左移参与运算的值,各二进位全部左移若干位,由 << 右边的数字指定移动的位数,高位丢弃,低位补0
>>右移参与运算的值,各二进位全部右移若干位,>> 右边的数字指定移动的位数

7.1按位与运算符(&)

参加运算的两个数据,按二进制位进行"与"运算

运算规则:0&0=0 0&1=0 1&0=0 1&1=1

# 12
print(60&13)
# 将十进制60、13和12转换为二进制
# 0b111100
print(bin(60))  # 00111100
# 0b1101
print(bin(13))  # 00001101
# 0b1100
print(bin(12))  # 00001100

示例:判断奇偶

只要根据二进制最末位是0还是1来决定,为0就是偶数,为1就是奇数

a = 22
print(bin(a))  # 0b10110

if (a & 1) == 0:
    print('输入的值是偶数')
else:
    print('输入的值是奇数')

7.2按位或运算符(|)

参加运算的两个对象,按二进制位进行"或"运算

运算规则:0|0=0 0|1=1 1|0=1 1|1=1

# 61
print(60|13)
# 将十进制60、13和61转换为二进制
# 0b111100
print(bin(60))  # 00111100
# 0b1101
print(bin(13))  # 00001101
# 0b111101
print(bin(61))  # 00111101

7.3按位异或运算符(^)

参加运算的两个数据,按二进制位进行"异或"运算

运算规则:0^0=0 0^1=1 1^0=1 1^1=0 

# 49
print(60^13)
# 将十进制60、13和49转换为二进制
# 0b111100
print(bin(60))  # 00111100
# 0b1101
print(bin(13))  # 00001101
# 0b110001
print(bin(49))  # 00110001

7.4取反运算符(~)

运算规则:对一个二进制数按位取反,即将0变1,1变0

# -61
print(~60)
# 将十进制60和-61转换为二进制
# 0b111100
print(bin(60))   # 00111100
print(bin(-61))  # 11000011

将一个十进制的负数转换为二进制需要使用补码的方法
1.将该十进制数转换为对应的绝对值的二进制数
2.将二进制的每一位(包括符号位)取反,0变1,1变0
3.将取反后的二进制数加1 

举个例子,我们将 -61 这个十进制数转换为8位二进制数:

① 将61转换为二进制数:00111101

② 取反:11000010

③ 加1:11000011

7.5左移运算符(<<) 

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)

# 240
print(60 << 2)
# 将十进制60和240转换为二进制
# 0b111100
print(bin(60))   # 00111100
# 0b11110000
print(bin(240))  # 11110000

运算对象每左移一位,相当于该数乘以2 

7.6右移运算符(>>)

# 15
print(60 >> 2)
# 将十进制60和15转换为二进制
# 0b111100
print(bin(60))  # 00111100
# 0b1111
print(bin(15))  # 00001111

运算对象每右移一位,相当于该数除以2

相关文章:

  • ES6新语法
  • vue3数据懒加载 无限滚动加载分页列表
  • 如何选择理想的三相浪涌保护器?
  • Dockerfile自定义镜像
  • 中国密封空气阻尼器行业发展趋势及需求前景预测报告2023-2029年
  • Javaweb | 初识、servlet应用
  • Vue2和Vue3响应式的实现原理
  • 20230331英语学习
  • MobTech 秒验|本机号码一键登录
  • MVCC及其在leveldb中的实现
  • tsconfig.json参数详解
  • 「 Redis 」缓存淘汰策略及内存淘汰策略
  • 多线程 (进阶) 死锁的成因和解决方案
  • Linux基础知识——基础命令/基础指令
  • c++开发环境安装
  • pycharm连接虚拟机中的spark
  • 解决服务器系统磁盘满了的问题
  • 玩转易知微社区,就差你了
  • 认识数据库管理工具 dbForge Edge,您的多数据库解决方案!
  • 「微报告」智驾芯片收敛“前夜”
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉