码迷,mamicode.com
首页 > 编程语言 > 详细

Python3 运算符

时间:2018-06-26 18:03:15      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:运算符   修改   int   二进制   相等   没有   table   大于   ble   

Python3 运算符

Python3 支持以下类型运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

算术运算

a , b = 2,3

运算符 说明 示例
+ 加:将两个对象相加 a + b 结果 5
- 减:将两个对象相减 a - b 结果 -1
* 乘:将两个对象相乘或复制字符串 a * b 结果 6
/ 除:将两个对象相除;a /b a / b 结果 0.6666666666666666
% 取模或取余数 a % b 结果 2
// 整除:将两个对象相除,取整 a // b 结果 0
** 指数运算,或幂运算 a ** b 结果 8

比较运算(关系运算)

a , b = 2,3

运算符 说明 示例
== 等于:比较两个对象是否相等 a == b 结果 False
!= 不等于:比较两个对象不相等 a != b 结果 True
> 大于:比较对象a是否大于对象b a > b 结果 False
< 小于:比较对象a是否小于对象b a < b 结果 True
>= 大于等于:比较对象a是否大于或等于对象b a >= b 结果 False
<= 小于等于:比较对象a是否小于或等于对象b a <= b 结果 True

赋值运算

运算符 说明 示例
= 赋值运算 a = 1
+= 加法赋值 a += 1 等同于a = a + 1
-= 减法赋值 a -= 1 等同于 a = a - 1
*= 乘法赋值 a *= 1 等同于 a = a * 1
//= 整除赋值 a //= 2 等同于a = a // 2
%= 取余赋值 a %= 2 等同于 a = a % 2
** = 幂运算赋值 a *= 2 等同于 a = a ** 2
/= 除法赋值 a /= 2 等同于 a = a / 2

逻辑运算

a , b = 2 , 3

运算符 说明 示例
and 与运算:如果a为 False;a and b 返回 False,否则它返回b 的值 a and b 结果 3
or 或运算:如果a为True,a or b返回a的值,否则返回b的值 a or b 结果 2
not 非运算:单目运算符,not a 如果a为True,返回False;反之则返回True not a 结果 False

位运算

python的位运算是把数字当作二进制来计算,操作符如下:

  • 按位与:&
  • 按位或:|
  • 按位异或:^
  • 按位取反:~
  • 左移:<<
  • 右移:>>
    具体详细使用暂时不说。

成员运算

  • 成员运算符有in、not in 两种,这里以下边代码作为说明示例
#!/usr/bin/python3

a = ‘a‘
lisa = [‘a‘, ‘b‘, ‘c‘]
lisb = [‘d‘, ‘e‘, ‘f‘]
if a in lisa:
    print(‘变量a在列表lisa中‘)
if a not in lisb:
    print(‘变量a不在列表lisb中‘)

以上代码输出
变量a在列表lisa中
变量a不在列表lisb中

身份运算

  • 身份运算有两个操作符:is 、is not
  • is 与 ==不同,==比较的是值,is比较的是存储对象
  • 以下代码为示例说明
#!/usr/bin/python3

a = ‘a‘
b = ‘a‘

if a is b:
   print(‘a 和 b 指向同一个存储对象,有相同的标识‘)
else:
   print (‘a 和 b 没指向同一个存储对象,没有相同的标识‘)

if id(a) == id(b):
   print (‘a 和 b 指向同一个存储对象,有相同的标识‘)
else:
   print (‘a 和 b 没指向同一个存储对象,没有相同的标识‘)

#修改变量 b 的值
b = ‘b‘

if a is b:
   print (‘a 和 b 指向同一个存储对象,有相同的标识‘)
else:
   print (‘a 和 b 没指向同一个存储对象,没有相同的标识‘)

if a is not b:
   print (‘a 和 b 没指向同一个存储对象,没有相同的标识‘)
else:
   print (‘a 和 b 指向同一个存储对象,有相同的标识‘)

以上代码输出:
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识

运算符优先级

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

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

Python3 运算符

标签:运算符   修改   int   二进制   相等   没有   table   大于   ble   

原文地址:http://blog.51cto.com/445153/2132901

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!