首页 > 编程语言 > 详细

python 运算符

时间:2019-12-04 13:28:03      阅读:76      评论:0      收藏:0      [点我收藏+]

python 运算符

本篇文章主要介绍一下python的运算符

3 + 2 = 5

“3” 和 “2” 被称为 操作数

“+” 就是一种 运算符

python3主要支持以下几种运算符

1. 算术运算符

运算符 作用
-
*
/
%(取模) 返回除法的余数
**
// 向下取整
a = 9 % 4    # 取除法的余数
b = 9 ** 4   # 9的4次幂
c = 9 // 4   # 先做除法,再向下取整
d = -9 // 4

-----------------------------

a = 1
b = 6561
c = 2
d = -3

2.比较运算符

运算符 功能
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

注意:返回结果是布尔值(True / False)

3.赋值运算符

运算符 功能
= 赋值
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取模赋值
**= 幂赋值
//= 取整赋值
:=(海象运算符) 在表达式内为变量赋值
a += b 等价于 a = a + b
a -= b 等价于 a = a - b
同理以上
--------------------------------------------------------------------

海象运算符
a = (0,1,2,3,4,5,6,7,8,9,10,11)
if (n := len(a)) > 10:   #  n>10  为一个表达式,:=为变量n赋值
    print(f"The tuple is too long. ({n} elements, expected <= 10)")
    print("The tuple is too long. ({n} elements, expected <= 10)")

# run code---------------------------------------------------------
"The list is too long. (12 elements, expected <= 10)"
"The tuple is too long. ({n} elements, expected <= 10)"
# print(f(str))为格式化字符串

海象运算符

技术分享图片

print(f”str”) 格式化字符串

加 f 之后可以在字符串里面使用 花括号{ } 括起来的变量和表达式,如果字符串里面没有表达式,那么前面加不加 f 都一样。

4.位运算符

进制关系

把 其它进制 转化为 十进制
其它进制 方法 相应进制的数字表示
二进制 bin() 0b
八进制 oct() 0o
十进制 int()
十六进制 hex() 0x

二进制:满 2 进 1

1

10(满2, 1 + 1 =10)

11

100

101

110

111

1000

八进制

1

2

7

10

11

17

20

21

十进制:满 10 进 1

1

2

3

9

10

11

十六进制:满 16 进 1

1

2

3

9

A

B

C

D

E

F

10

11

12

19

1A

位运算符

位运算符是把数字当做 二进制 来计算的

  1. 先把其他进制转化为 二进制

  2. 二进制 计算之后返回 十进制 结果。

注:以下数字是二进制

a = 0001 1100

b = 0011 0100


a & b = 0001 0100

a | b = 0011 1100

a ^ b = 0010 1000

~ a = - 0001 1101

运算符 描述 二进制 1 和 0
& 按位与:都为 1,才为 1,否则为 0 1---1 → 1
1---0 → 0
0---1 → 0
0---0 → 0
| 按位或 :只要其中一个为 1 就位为1 1---1 → 1
1---0 → 1
0---1 → 1
0---0 → 0
^ 按位异或:两个不同,结果才为1 1---1 → 0
1---0 → 1
0---1 → 1
0---0 → 0
~ 按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 1 → 0
0 → 1
<< 左移动:二进制数字全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 0011 1100<< 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动:把">>"左边的二进制数字全部右移若干位,">>"右边的数指定移动的位数 0011 1100>> 2 输出结果 15 ,二进制解释: 0000 1111

5.逻辑运算符

>>> 11 and 22  # 返回后一个True
22
>>> 22 and 11
11
-----------------------------
>>> 11 or 22  # 返回第一个为True
11
>>> 22 or 11
22
-----------------------------
>>> not 11
False
>>> not 22
False
>>> not 0
True

以下假设 a = 11, b = 22

运算符 逻辑表达式 描述 实例
and x and y "与" 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 22。
or x or y "或" 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 11。
not not x "非" 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

6.成员运算符

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

7.身份运算符

身份运算符用于比较两个对象的 存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

>>>a = [1, 2, 3] 
>>> b = a 

>>> b is a  
True 
>>> b == a 
True 

>>> b = a[:]  # 把 a 的第一个到最后一个list值全部赋值给 b

>>> b is a 
False 
>>> b == a 
True

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

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

python 运算符

原文:https://www.cnblogs.com/yuelu/p/11981444.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!