Python运算符(超详细)

举个简单的例子,1+2=3,,1和2称为操作数,+称为运算符。

算术运算符

Python中算术运算符用来组织整型和浮点型数据的算术运算,可分为一元运算符和二元运算符。

一元算术运算符

运算符描述
-取反

输入下面代码

a = 9
-a
print(a)

代码运行结果:

 二元算术运算符

运算符描述
+
-
*
/
%取余
**
//返回商的整数部分(向下取整

输入下面代码

a = 10
b = 5
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
print(a**b)
a = -9
b = 2
print(a//b)

代码运行结果

注意:

  1. 在执行加法运算时,若两个字符串相加(包括数字也一样),则结果为相加的字符串连接后形成的新字符串
  2. 在执行加法运算时,不能将字符串与其他数据类型连接起来
  3. 在执行除法运算时,得到的是精度为一位小数的浮点型,而不是整数,若要得到整数,可以用int()函数
  4. 在执行除法运算时,除数不能为0
  5. 在执行乘法运算时,若为字符串乘以数字n,则返回一个被重复n次的字符串
  6. Python中没有自增或自减运算
  7. 可以使用divmod()函数同时得到商和余数,结果返回一个元组。例如:divmod(13,3),结果为(4,1)

输入下面代码

a = 'aaa'
b = 'bbb'
print(a+b)
a = '20'
b = '30'
print(a+b)
print(type(a+b))
a = 'hello'
print(a*3)

代码执行结果

 关系运算符

比较两个表达式的大小,它的结果是布尔类型,即True或False

运算符例子描述
==a==b等于,可以应用于基本数据类型和引用类型,主要用于判断内容是否相等;若为引用类型,则比较是否为同一对象(这种比较往往没有意义)
!=a!=b不等于
>a>ba大于b时返回True,否则返回False
<a<ba小于b时返回True,否则返回False
>=a>=ba大于或等于b时返回True,否则返回False
<=a<=ba大于或等于b时返回True,否则返回False

 Python中关系运算符除了用于比较整数、浮点数等对象外,也可用于比较序列(字符串、列表、元组)

注意:

Python3中废弃了“<>”(不等于)的运算符

输入下面代码

a = 'Hello'
b = 'Hello'
print(a==b)
a = []
b = [1,2]
print(a==b)
print(a<b)

代码运行结果

逻辑运算符

 逻辑运算符对布尔型自变量进行运算,其结果也是布尔型

运算符名称例子描述
not逻辑非not aa为True时,值为False;a为False时,值为True
and逻辑与a and b

a、b全为True时,值为True,否则为False

or逻辑或a or ba、b全为False时,值为False,否则为True

注意:

Python中的逻辑与和逻辑或都采用“短路设计”,即若执行a and b时,若a 为False,则不会执行b,且结果为False;执行a or b 时,若a 为True,则不会执行b,且结果为True。

位运算符

位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整型数据 

运算符名称例子描述
~位反~x将x的值按位取反(将二进制表示中的每一位取反,0 变为 1,1 变为 0)
&位与x&yx与y位进行位与运算(参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0)
|位或x|yx与y位进行位或运算(参与运算的两个值,只要对应的二个二进位有一个为1时,结果位就为1)
^位异或x^yx与y位进行位异或运算(当两对应的二进位相异时,结果为1)
>>右移x>>a

x右移a位,高位采用符号位取反;可以理解为x除以2的a次方

<<左移x<<ax左移a位,低位用0补位;可以理解为x乘以2的a次方

输入下面代码

a = 0b10110010
b = 0b01011110
print("a | b = {0}".format((a|b)))  #0b11111110
print("a & b = {0}".format((a&b)))  #0b00010010
print("a ^ b = {0}".format((a^b)))  #0b11101100
print("~a = {0}".format(~a))        #-179
c = 10
print("c >>2 = {0}".format((c>>2)))
print("c <<2 = {0}".format((c<<2)))

代码执行结果

 赋值运算符

一种简写,一般用于变量自身的变化

运算符名称例子描述
+=加赋值运算符a += ba = a +b
-=减赋值运算符a -= b

a = a - b

*=乘赋值运算符a *= ba = a*b
/=除赋值运算符a =/ ba = a/b
%=取余赋值运算符a &= ba = a%b
**=幂赋值运算符a **= ba = a**b
//=地板除法赋值运算符a //= ba = a // b
&=位与赋值运算符a &= ba = a&b
|=位或赋值运算符a |= ba = a|b
^=位异或赋值运算符a ^= ba = a^b
<<=左移赋值运算符a <<=ba = a<<b
>>=右移赋值运算符a >>=ba = a>>b

输入下面代码:

a = 1
b = 2
a += b
print("a + b = {0}".format(a))
a -= b
print("a - b = {0}".format(a))
a *= b
print("a * b = {0}".format(a))
a /= b
print("a / b = {0}".format(a))

a = 0b1100
b = 0b1100
a |=b
print("a | b = {0}".format(a))
a ^=b
print("a ^ b = {0}".format(a))

代码执行结果

其他运算符 

同一性测试运算符

同一性测试运算符就是测试两个对象是否为同一个对象,类似于 == 运算符,不同的是  == 运算符比较的是内容是否相等,当然如果是同一对象 == 也返回True。

运算符例子描述
isa is b测试a和b是否为同一对象
is nota is not b测试a和b是否不是同一对象

成员测试运算符

测试在一个序列对象中是否包含某一个元素

输入下面代码

a = 'Hello'
b = 'Hello'
print(a is b)
print('e' in a)
print('hello' in a)

代码执行结果

运算符优先级

在一个表达式计算过程中,运算符优先级非常重要。只需要知道运算符优先级大体顺序为:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符即可。下面表格按照优先级从高到低列出运算符优先级。

优先级运算符说    明
1()小括号
2f(参数)函数调用
3[start:end],[start:end:step]分片
4[index]下标
5.引用类成员变量
6**
7~位反
8+,-正负号
9*, / ,%乘法、除法与取余
10+,-加法与减法
11<< ,>>位移
12&位与
13^位异或
14|位或
15

in,not in,is,is not,

<,<=,>,>=,<>,!=,==

比较
16not逻辑非
17and逻辑与
18or逻辑或
19lambaLamba表达式
  • 29
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值