VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • python 变量与运算符-运算符

1、算数运算符

复制代码
+-*/:除法元算,能把2个整数除法算出小数结果

//:跟java的除法一样

%、

自增、自减:python里没有这种运算,简化只能简化到b+=1,b-=1,b*=a 这种地步
复制代码

 

2、比较(关系)运算法

复制代码
==

!=

>

<

<=

>=
复制代码

分析一下这段代码

>>> b =1
>>> b+=b>=1
>>> print(b)
2

首先,

1、比较运算符>= 的优先级要高于赋值运算符,参考资料 https://www.cnblogs.com/relex/p/11021291.html,所以先执行比较运算的结果为True

b+=True;

2、int 可以跟bool相加,相加是转型为int。因为bool是8位,所以跟int相加后,向大容量自动转型。

b = b+True=2;

 

再看看,除了数字可比较,string也可比较

>>> "abc">"ab"
True
>>> "adc">"abc"
True

因为其实字符串是逐个比较的字符的ascii码

>>> ord("b")
98
>>> ord("d")
100

接下来,演示,除了dict,list、tuple、set都是可以比较大小的,至于怎么比较的,先不管。

复制代码
>>> [1,2,3]>[1,3,2]
False
>>> (1,3,2)>(1,2,3)
True
>>> {"a","b","c"}>{"b"}
True
>>> {"a","b","c"}>{"a","d","b"}
False
>>>
>>>
>>> {"1":1,"2":2}>{"3":0,"4":1}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'dict' and 'dict'
复制代码

 

3、逻辑运算符:与或非

and

or

not

4、成员运算符

一个元素是不是在一组元素里面

 in

not in 

list、tuple、set、dict都可以有这种运算,区别是dict 要查的是key,不是value

复制代码
>>> 2 in [1,2,3]
True
>>> 2 in (1,2,3)
True
>>> 2 in {1,2,3}
True
>>> 2 in {"1":2}
False
>>>
>>> "1" in {"1":2}
True
复制代码

但是嵌套的list和tuple不能这么查,得去掉嵌套

复制代码
>>> 2 in [[1,2,3],[3,4,5]]
False
>>> [2] in [[1,2,3],[3,4,5]]
False
>>>
>>>
>>> 2 in ((1,2,3),(3,4,5))
False
复制代码
>>> 2 in ((1,2,3),(3,4,5))[0]
True

5、身份运算符

is:比较内存地址是不是相等(是不是同一个对象)

not is:比较内存地址是不是不相等(是否不是同一个对象)

复制代码
>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> id(a)
4528917040
>>> id(b)
4531749488
复制代码
>>> a is not  b
True
复制代码
注意:set是无序的,tuple是有序的,所以如果顺序不一样,就会导致取值不一样,导致比较出来是false
>>> a = (1,2,3)
>>> b = (2,1,3)
>>> a is b
False
>>> a==b
False
>>> a = {1,2,3}
>>> b = {2,1,3}
>>> a is b
False
>>> a==b
True
复制代码

 6、数据类型比较

不推荐这么low的写法

>>> a = 1
>>> type(a)==int
True

推荐:isinstance(a,(type1,type2,type3))

a 是type1,type2,type3中的一种,返回True否则,返回False

>>> isinstance(a,(int))
True
>>> isinstance(a,(str,tuple,list))
False

7、位元算符(把数字当作2进制来运算)

复制代码
&:按位与

|:按位或
^:按位异或
~ :按位取反

<<:按位左移

 >>:按位右移
复制代码

 原文:https://www.cnblogs.com/ansonwan/p/13402582.html


相关教程