学无先后,达者为师

网站首页 编程语言 正文

python中的运算符

作者:努力学习吧(˃ ⌑ ˂ഃ ) 更新时间: 2022-11-14 编程语言

目录

一、算术运算符

二、赋值运算符

三、比较运算符

四、逻辑运算符

五、位运算符

六、运算符优先级

七、练习


一、算术运算符

1.定义:算术运算符主要就是指用来处理四则运算的符号,包括加减乘除等。

运算符 含义
+
-
*
/
// 整除
% 取余
** 幂运算

示例如下:

x=10
y=3
print('x+y=',(x+y))#加法
print('x-y=',(x-y))#减法
print('x*y=',(x*y))#乘法
print('x/y=',x/y)#除法
print('x//y=',(x//y))#整除
print('x%y=',(x%y))#取余
print('x**y=',(x**y))#幂运算

运行结果:

2. 运算符优先级

  • 先乘除后加减
  • 同级运算符从左到右运算
  • 可以使用小括号调节优先级

优先级由高到低:

  • 第一级:**
  • 第二级:*,/,%,//
  • 第三级:+,-

二、赋值运算符

1.定义:主要用于给变量进行赋值,把等号右边的值赋值给等号左边的变量

运算符 含义
= 赋值
+= 加赋值
-= 减赋值
*= 乘赋值
/= 除赋值
%= 取余赋值
//= 整除赋值
**= 幂赋值

示例如下:

a=10#将10赋值给a
print(a)
b=5#将5赋值给b
a+=b#加赋值,a+=b即a=a+b
print('加赋值:',(a))#此时a为15
a-=b#减赋值,a-=b即a=a-b
print('减赋值:',(a))#此时a为10
a*=b#乘赋值,a*=b即a=a*b
print('乘赋值:',(a))#此时a为50
a/=b#除赋值,a/=b即a=a/b
print('除赋值:',(a))#此时a为10
a//=b#整除赋值,a//=b即a=a//b
print('整除赋值:',(a))#此时a为2
a%=b#取余赋值,a%=b即a=a%b
print('取余赋值:',(a))#此时a为2
a**=b#幂赋值,a**=b即a=a**b
print('幂赋值:',(a))#此时a为32

运行结果:

 2.python支持链式赋值与解包赋值

  • 链式赋值:可以同时给几个变量赋值相同的数值
  • 解包赋值:将多个数据赋值给相同数量的变量

示例如下:

#python支持链式赋值
d=f=g=100
print(d,f,g)
#python支持系列解包赋值
m,n=10,20#相当于执行了m=10,n=20
print(m,n)

运行结果:

三、比较运算符

定义:用于对变量或表达式结果进行大小、真假等比较,只有真假两种结果,真为True,假为False

运算符 含义
> 大于
< 小于
== 等于
!= 不等于
>= 大于或等于
<= 小于或等于

示例如下:

print('20大于30吗?',20>30)
print('20小于30吗?',20<30)
print('20等于30吗?',20==30)
print('20大于或等于30吗?',20>=30)
print('20小于或等于30吗?',20<=30)

运行结果:

四、逻辑运算符

定义:逻辑运算符是对布尔值(真或假)进行运算,运算得到的结果仍旧是布尔值

运算符 含义
and 逻辑与
or 逻辑或
not 逻辑非
  • 表达式1 and 表达式2,只有表达式1与表达式2同时为True时,结果为True;其余结果全为False。从左向右运算,当表达式1为False时,表达式2不进行运算。

  • 表达式1 or 表达式2,只有表达式1与表达式2同时为False时,结果为False;其余结果全为True。从左向右运算,当表达式1为True时,表达式2不进行运算。

  • not 表达式1,表达式1为True,则结果为False;表达式1为False,则结果为True

示例如下:

#逻辑与
print(True and True)
print(True and False)
print(False and False)
print(False and True)
print('---------------')
#逻辑或
print(True or True)
print(True or False)
print(False or False)
print(False or True)
print('---------------')
#逻辑非
print(not True)
print(not False)

运行结果:

五、位运算符

定义:位运算符进行的是二进制运算,所以再进行计算时,需要先将数字转换为二进制,然后执行运算。

  • 位与运算(&):将数字转换为二进制后,两数据对应位进行运算,只有对应位均为1时,结果为1;否则为0

  •  位或运算(|):将数字转换为二进制后,两数据对应位进行运算,只有对应位均为0时,结果为0;否则为1

  •  位异或运算(^):将数字转换为二进制后,两数据对应位进行运算,对应位同时为0或同时为1时,结果为0;否则为1

  • 位取反运算(~):将数字转换为二进制后,将二进制数1改为0;0改为1

  •  左移位运算(<<):将一个二进制向左移动指定位数,左边溢出的位被丢弃,右边的空位用0补充;左移位运算相当于乘以2的N次幂
  • 右移位运算(>>):将一个二进制向右移动指定位数,右边溢出的位被丢弃,左边的空位端,如果最高位是0,则左侧空位填0,如果是1,左侧空位填1;左移位运算相当于除以2的N次幂

示例如下:

print(12&10)
print(12|10)
print(12^10)
print(~12)
print(12<<2)
print(12>>2)

运行结果:

 六、运算符优先级

运算符 说明
**
~、+、- 取反、正号、负号
*、/、%、// 算术运算符
+、- 算术运算符
<<、>> 位运算左移、右移
& 位与
^ 异或
| 位或
<、<=、>、>=、!=、== 比较运算符

七、练习

1.交换两个变量的值

#方法一
m,n=10,20
temp=0
temp=m
m=n
n=temp
print(m,n)
#方法二
num1,num2=30,40
num1,num2=num2,num1
print(num1,num2)

运行结果:

2.从键盘获取3位数,分别输出个位、十位、百位上的数字。

num=eval(input('请输入一个三位数:'))
bit=num%10#个位上数字
ten=num//10%10#十位上数字
hundred=num//100#百位上数字
print('个位:',bit)
print('十位:',ten)
print('百位:',hundred)

原文链接:https://blog.csdn.net/qq_45777382/article/details/127737956

栏目分类
最近更新