Python 运算符

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,则返回True x <5 and x <10
or 如果其中一个语句为true,则返回True x <5 or x <4
not 反转结果,如果结果为true,则返回False not(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是否大于y x> 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 如果对象中存在具有指定值的序列,则返回True y in x
not in 如果对象中不存在具有指定值的序列,则返回True x 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 如果两个变量都是同一个对象,则返回True x is y
is not 如果两个变量都不是同一对象,则返回True x 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 逻辑运算符

你可能感兴趣的:(Python,python,开发语言,后端)