写给小白的Python之007:运算符
2018-06-18 02:14:17来源:未知 阅读 ()
导读:
1.算数运算符
2.赋值运算符
3.关系运算符
4.逻辑运算符
5.成员运算符
6.身份运算符和isinstance( )
7.位运算符
8.运算符优先级
9.表达式
python支持以下几种运算符。
一、算数运算符
1. 双斜杠 // 除法总是向下取整。
2. 从浮点数到整数的转换可能会舍入也可能截断,建议使用math.floor()和math.ceil()明确定义的转换。
3. Python定义pow(0, 0)和0 ** 0等于1。
>>> 9/2.0
4.5
>>> 9//2.0
4.0
>>>-7 // 3 # 地板除
-3
二、赋值运算符
赋值运算符
复合赋值运算符
>>> a, b = 1, 2
>>> a
1
>>> b
2
三、关系运算符
python中的关系(比较)运算符如下表:
1. 八个比较运算符优先级相同。
2. Python允许 x < y <= z 这样的链式比较,它相当于 x < y and y <= z 。
3. 复数不能进行大小比较,只能比较是否相等。
>>> 'abc'<'abd'
True
>>> [1,2,3]<[2,3,4]
True
>>> (1,2,3)<(1,3,2)
True
a = 10
1<a<20 # True
11<a<20 # False
四、逻辑运算符
python中的逻辑运算符如下表:
1. and 也是个短路运算符,它只有在第一个运算数为True时才会计算第二个运算数的值。
2. or 是个短路运算符,它只有在第一个运算数为False时才会计算第二个运算数的值。1. and 也是个短路运算符,它只有在第一个运算数为True时才会计算第二个运算数的值。
3. not 的优先级比其他类型的运算符低,所以 not a == b 相当于 not (a == b) ,而 a == not b 错误的。
>>> 1 and 2
2
>>> 1 and 0
0
>>> 0 and 1
0
>>> 0 or 1
1
>>> 1 or 0
1
>>> 1 or 2
1
>>> 2 or 1
2
>>> not ''
>>> not 0
>>> not []
>>> not ()
>>> not {}
>>> not set()
都返回 True。
五、成员运算符
Python提供了成员运算符,测试一个元素是否在一个序列(Sequence)中。
注意:
在对 字典 操作时,判断的是 字典的键。
六、身份运算符
如果两个变量取值相等,则 is返回 True。
>>> a = 'hello'
>>> b = 'world'
>>> a is b
False
>>> c = 'hello'
>>> a is c
True
>>> a = 1
>>> b = 2
>>> a is b
False
is 不是比较值相等。is比较的是两个变量的身份是否相等。
==是比较值是否相等。
>>> a=1 >>> b=2 >>> a==b False >>> a=1 >>> b=1 >>> a is b True >>> a=1 >>> b=1.0 >>> a==b True >>> a is b False >>> id(a) 1775594976 >>> id(b) 2079163814176
>>> a={1,2,3}
>>> b={2,1,3}
>>> a==b
True
>>> a is b
False
>>> id(a)
2079194213736
>>> id(b)
2079194214184
>>> c=(1,2,3)
>>> d=(2,1,3)
>>> c==d
False
>>> c is d
False
>>> id(c)
2079194209736
>>> id(d)
2079194209880
扩展:isinstance( )
>>> a='hello'
>>> type(a) == int
False
>>> type(a) == str
True Py2.x中为False
>>> isinstance(a,str)
True Py2.x中不支持
>>> isinstance(a,int)
False
>>> isinstance(a,(int,str,float))
True
>>> isinstance(a,(int,float))
False
对象的三个特征:id、value、type。
七、位运算符
把数字当做二进制数进行运算
x | y——1 1得1,1 0得1,0 0得0x & y——1 1得1,1 0得0,0 0得0
x^y——1 1得0,1 0得1,0 0得 0
>>> 2 & 3
2
>>> 2 | 3
3
>>> 2 ^ 3
1
>>> 2 << 2
8
>>> 2 >> 2
0
>>> 2 >> 3
0
>>> ~ 2
-3
八、运算符优先级
优先级由高到最低顺序排列 :
**幂 (最高优先级)
* / % //乘、除、取余数、取整除
+ -加法、减法
<= < > >=比较运算符
== !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not 身份运算符
in not in 成员运算符
not > and > or逻辑运算符
>>> b = 1
>>> b += b>=1 等价于b = b + (b>=1)
>>> print(b)
2
>>>a or b and c 等价于
>>>a or (b and c)
>>> a=1
>>> b=2
>>> c=2
>>> not a or b + 2 == c
False
>>> not a or ((b + 2) == c)
False
>>> (not a) or ((b + 2) == c)
False
九、表达式
表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash