Python入门学习(三)

在掌握了怎么用Python定义变量和Python常用的数据类型后, 我们就可以继续探索Python世界了.

运算符

算术运算符

运算符描述实例
+1 + 2 => 3
3 – 2 => 1
*2 * 3 => 6
/6 / 2 => 3
//整除7 // 2 => 3
%模除7 % 2 = 1
**2 ** 3 = 8

关系运算符

运算符描述实例
==等于1 == 2 => False
!=不等3 != 2 => True
<>不等2 <> 3 => True
>大于6 > 2 => True
<小于7 < 2 => False
>=大于等于7 >= 2 = True
<=小于等于2 <= 3 = True

赋值运算符

运算符描述实例
=赋值x = 1
+=加赋值x += 1
-=减赋值x -= 1
*=乘赋值x *= 2
/=除赋值x /= 2
//=整除赋值x //= 2
%=模除赋值x %= 2
**=幂赋值x **= 3

位运算符

运算符描述实例
&与运算5 & 2
|或运算5 | 2
~取反运算~7
^异或运算7 ^ 3
<<左移运算1 << 2
>>右移运算7 >> 1
print( 5 & 2 ) # 00000101 and 00000010 => 00000000 => 0
print( 5 | 2 ) # 00000101 or 00000010 => 00000111 => 7 
print( 7 ^ 3)  # 00000111 xor 00000011 => 00000100 => 4
print(1 << 2) # 00000001 << 2 => 00000100 => 4 
print(7 >> 1) # 00000111 >> 1 => 00000011 => 3
print(~7) # -x - 1 => -8

涉及到的一些概念

1. 源码: 是指由 0 和 1 组成的二进制数.(先低后高存储)

2. 无符号位数: 是指将
源码的所有有效位数, 都用来表示数值(比如 “0000 0001” 这是一个8位的二进制数, 可以表示数的范围就是[0, 255])

3. 有符号位数: 是指用
源码的第一位表示符号位(
1 表示负数,
0 表示正数), 其余的位数来表示数值(比如”0000 0001″ 这是一个8位的二进制数, 可以表示数的范围就是[-128, 127])

4. 原码: 是指用
有符号位数表示的二进制数

5. 反码: 正数的反码是它本身, 负数的反码是除符号位外的其他位取反得到的(比如 -7的
原码是 10000111,
反码就是 11111000)

6. 补码: 正数的补码是它本身, 负数的补码是在反码的基础上加 1(比如 -7 的
反码是 11111000, 那
补码就是 11111001)

~取反运算符, 是将数值的补码进行取反
~7 => ~(0000 0111) => 1111 1000 => 1000 0111(反码) => 1000 1000(补码) => -8
同理 ~(-8)
∵ -8 => 1000 1000(原码) => 1111 0111(反码) ==> 1111 1000(补码)
∴ ~(-8) => ~(1111 1000) => 0000 0111 => 7

逻辑运算符

运算符描述实例
notnot True
andTrue and False
orTrue or False

成员运算符

运算符描述实例
in存在1 in range(10)
not in不存在1 not in range(2, 10)

身份运算符

运算符描述实例
is是否相同引用x is y
is not是否不同引用x is not y

运算符的优先级

运算符描述
**指数 (最高优先级)
~按位翻转
* / % //乘, 除, 模除和整除
+ –加法, 减法
>> <<右移,左移运算符
&与运算
^ |或运算符和异或运算符
<= < > >=比较运算符
<> == !=关系运算符
= %= /= //= -= += = *=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符
    原文作者:yuchen352416
    原文地址: https://segmentfault.com/a/1190000012807563
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞