Python 运算符

本文详细介绍了Python的各种运算符,包括算术运算符(如加减乘除)、位运算符(如按位与、或、异或)、逻辑运算符(如and、or、not)、比较运算符(如等于、不等于、大于、小于等)以及成员运算符和身份运算符。通过实例解析了各个运算符的使用方法和逻辑,帮助理解Python中的运算规则。
摘要由CSDN通过智能技术生成

Python 运算符

运算符是一种“功能”符号,用来进行相应的运算。Python 运算符分为 算术运算符、位运算符、逻辑运算符、比较运算符、比较(关系)运算符、赋值运算符以及其他运算法

1、算术运算符

Python中的算数运算符

运算符功能表示
+加法运算
-减法运算
*乘法运算
/除法运算
//整除运算
**幂运算(指数运算)
%取余运算

“//” 用于整除运算,取商的整数部分

>>>7//3	# 在我们7除以3是等于2.333...,而我们在这运算只取整数部分
2
>>>7.4//5	# 1.4
1.0

“%”用于取余数运算,取除法运算后的余数部分

>>>8%3	#8除3等于2余2,故输出余数2
2

2、(按)位运算符

Python 中的(按)位运算符(难点)

按位运算符用于比较(二进制)数字:

运算符名称描述
^按位异或运算符(XOR)如果两位中只有一位为1,则将每个位设置为1
&按位与运算符(AND)如果两个位均为1,则将每个位设置为1
l按位或运算符(OR)如果两位之一为1,则将每个位设置为1
<<左移运算运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>>右移运算右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
~按位取反运算符(NOT)反转所有位

逻辑运算都是按位进行的,依据二进制进行运算。

>>> print(3^8,3|8,3&8,8>>1,8<<2,sep=',')
11,11,0,4,32
  • sep=’,'表示多个输出项之间用 “,“进行分隔
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b;        # 12 = 0000 1100

c = a | b;        # 61 = 0011 1101 

c = a ^ b;        # 49 = 0011 0001
 
c = ~a;           # -61 = 1100 0011
 
c = a << 2;       # 240 = 1111 0000
 
c = a >> 2;       # 15 = 0000 1111

3、逻辑运算符

逻辑运算符用于组合条件语句:

Python中的逻辑运算符

运算符描述示例
and如果两个语句都为true,则返回Truex <5 and x <10
or如果其中一个语句为true,则返回Truex <5 or x <4
not反转结果,如果结果为true,则返回Falsenot(x <5 and x <10)

Python中非0即为真,0为假。

a = 10
b = 20

if a and b:
    print("变量 a 和 b 都为 true")
else:
    print("变量 a 和 b 有一个不为 true")

if a or b:
    print("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("变量 a 和 b 都不为 true")

# 修改变量 a 的值
a = 0
if a and b:
    print("变量 a 和 b 都为 true")
else:
    print("变量 a 和 b 有一个不为 true")

if a or b:
    print("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("变量 a 和 b 都不为 true")

if not (a and b):
    print("变量 a 和 b 都为 false,或其中一个变量为 false")
else:
    print("变量 a 和 b 都为 true")


"""
变量 a 和 b 都为 true
变量 a 和 b 都为 true,或其中一个变量为 true
变量 a 和 b 有一个不为 true
变量 a 和 b 都为 true,或其中一个变量为 true
变量 a 和 b 都为 false,或其中一个变量为 false
"""

“[]” “()” “{}”表示空值,都为假

print([] and ())
"""
[]
"""

4、比较运算符

比较运算符也称关系运算符,其意义与数学中的定义相同,用来比较l两个值。

Python中的比较运算符

运算符描述示例
==等于 : 比较对象是否相等x == y
!=不等于 : 比较两个对象是否不相等x!= y
>大于 : 返回x是否大于yx> y
<小于 : 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。x < y
>=大于等于 : 返回x是否大于等于y。x> = y
<=小于等于 : 返回x是否小于等于y。x <= y
a = 21
b = 10
c = 0

if a == b:
    print("a 等于 b")
else:
    print("a 不等于 b")

if a != b:
    print("a 不等于 b")
else:
    print("a 等于 b")

if a != b:
    print("a 不等于 b")
else:
    print("a 等于 b")

if a < b:
    print("a 小于 b")
else:
    print("a 大于等于 b")

if a > b:
    print("a 大于 b")
else:
    print("a 小于等于 b")

# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b:
    print("a 小于等于 b")
else:
    print("a 大于 b")

if b >= a:
    print("b 大于等于 a")
else:
    print("b 小于 a")


"""
a 不等于 b
a 不等于 b
a 不等于 b
a 大于等于 b
a 大于 b
a 小于等于 b
b 大于等于 a
"""

5、其他运算符

(1)Python成员运算符:in 和 not in

用于检查某个数据对象是否存在于具有多个元素(列表、元组、字典、字符串等)的数据对象之中,运算结果为Ture或False。

运算符描述示例
in如果对象中存在具有指定值的序列,则返回Truey in x
not in如果对象中不存在具有指定值的序列,则返回Truex not in
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];

if ( a in list ):
    print ("变量 a 在给定的列表中 list 中")
else:
    print ("变量 a 不在给定的列表中 list 中")

if ( b not in list ):
    print ("变量 b 不在给定的列表中 list 中")
else:
    print ("变量 b 在给定的列表中 list 中")

"""
变量 a 不在给定的列表中 list 中
变量 b 不在给定的列表中 list 中

"""

# 修改变量 a 的值
a = 2
if ( a in list ):
    print ("变量 a 在给定的列表中 list 中")
else:
    print ("变量 a 不在给定的列表中 list 中")
    
"""
变量 a 在给定的列表中 list 中
"""
  • 对于字典,成员运算符检查字典的键
dict = {'Java': 1, 'Python': 2, 'C#': 3, 'C++': 4}
print('c#' in dict)
# Python是区分大小写的
"""
False
"""

(2)Python身份运算符:is 和 is not

恒等运算符用于比较对象,不是相等的对象,而是如果它们实际上是相同的对象,并且具有相同的内存位置:

运算符描述示例
is如果两个变量都是同一个对象,则返回Truex is y
is not如果两个变量都不是同一对象,则返回Truex is not y

is 与 == 区别:

  • is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。
>>> a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True

6、Python运算符优先级

运算符描述
**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 ‘AND’
^ l位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值