目录java
本篇文章说明python中的一些运算符,python版本号为python3.6,python2中的内容再也不本篇文章内python
运算符 | 描述 | 实例 |
---|---|---|
+ |
两个对象相加 | 10+20=30 |
- |
获得负数或是一个数减去另外一个数 | 20-10=10 |
* |
两个数相乘或是返回一个被重复若干次的字符串 | 2*3=6 或 'py'*3='pypypy' |
/ |
x除以y | 5/2=2.5 |
% |
取模,返回除法的余数 | 5%3=2 |
** |
幂,返回x的y次幂 | 2**10=1024 |
// |
取整除,返回商的整数部分(向下取整) | 10//3=3 |
运算符 | 描述 |
---|---|
== |
等于 - 比较对象是否相等 |
!= |
不等于 - 比较两个对象是否不相等 |
<> |
不等于 - 比较两个对象是否不相等 |
> |
大于 - 返回x是否大于y |
< |
小于 - 返回x是否小于y |
>= |
大于等于 - 返回x是否大于等于y。 |
<= |
小于等于 - 返回x是否小于等于y。 |
运算符 | 描述 | 实例 |
---|---|---|
& |
按位与运算符 | 3&5=1 ,二进制解释:011 & 101 = 001 |
| |
按位或运算符 | 3|5=7 ,二进制解释:011 | 101 = 111 |
^ |
按位异或运算符 | 3^5=7 ,二进制解释:011 ^ 101 = 110 |
~ |
按位取反运算符,~x 相似于 -x-1 |
~5 = -6 |
<< |
左移动运算符: 高位丢弃,低位补0。 | 4<<4=64 |
>> |
右移动运算符 | 128>>4=8 |
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y |
布尔"与" 若是 x 为 False,x and y 返回 False,不然它返回 y 的计算值。 | 12 and 4 = 4 或 12 and False = False |
or | x or y |
布尔"或" 若是 x 是非 0,它返回 x 的值,不然它返回 y 的计算值。 | 12 or 5 = 12 |
not | not x |
布尔"非" 若是 x 为 True,返回 False 。若是 x 为 False,它返回 True。 | not 5 = False |
运算符 | 描述 | 实例 |
---|---|---|
in | 若是在指定的序列中找到值返回 True,不然返回 False。 | 's' in 'asdf' = True |
not in | 若是在指定的序列中没有找到值返回 True,不然返回 False。 | 's' not in 'asdf' = False |
运算符 | 描述 |
---|---|
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。. |
id() 函数用于获取对象内存地址。数组
由于在 Python 里的数值和字符串之类的都是不可变对象,对不可变对象操做的结果都会生成一个新的对象。函数
a = 1 print(id(a)) a += 1 print(id(a)) #输出结果 1908042784 1908042816
在 C/java 之类的语言中,把a指向内存地址单元数据值由1改为了2。可是在Python中是彻底不一样的另外一套机制。解释器建立一个新的整数对象 2。而后把这个对象的地址再次分配给 a。
因此在 Python 中不可能出现C/java 之类那种单独一行一个 i++,i-- 的。学习
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
a is b 至关于 id(a)==id(b)。code
在python中给数组赋值的经常使用方法中有两个不一样的方式对象
# 第一种 b=a # 第一种 b=a[:]
看起来都是同样的,那么他们之间有没有什么区别呢?固然,区别是有的。区别就是:前者传递引用;后者是拷贝。直接=
是引用赋值,引用原来的对象;而[:]
是从新推导,会生成新的对象。用代码演示以下:内存
a = [1, 2, 3, 4] b = a c = a[:] print(id(a)) print(id(b)) print(id(c)) #输出结果 2294445187016 2294445187016 2294445993544