4.运算符、三元表达式
2018-06-18 01:05:19来源:未知 阅读 ()
算术运算符:
算术运算符包含:
+加法运算、
-减法运算、
*乘法运算、
/精确除法运算、
//地板除法运算、
%求余运算、
**幂运算符
+加法运算:
>>> a=1 >>> b=2 >>> c=a+b >>> c 3
-减法运算:
>>> c=1000 >>> a=6000 >>> b=c-a >>> b -5000
*乘法运算:
>>> c=22 >>> a=33 >>> b=c*a >>> b 726
/精确除法运算、//地板除法运算:
python的除法是比较精确的,没有像其他一些语言一样(其他语言的得出20/6=3),例如:
>>> 20/6 3.3333333333333335 >>> 18/5 3.6 >>> 10/2 5.0
如果要使用“地板除法”(不保留小数),需要使用“//”,地板除法中如果其中一个操作数为负数,结果向负无穷取整
>>> 20//6 3 >>> 18//5 3 >>> 10//2 5
%求余运算:
返回除法中的余数结果
>>> 5%2 1
**幂运算符:指数(幂)
>>> 2**3 8 >>> 2**-1 0.5 >>> 3**3 27
逻辑运算符:
逻辑运算符包括:
and与运算,
or或运算,
not非运算
and与运算 :
如果x为False,x and y返回False,
如果x为True,返回y的计算值。本质是,z=True and y =y,如果x是真的话,最终结果取决于y
>>> 0 and 2 0 >>> 1 and 2 2 >>> 1 and 99 99 >>> -1 and 99 99
or 或运算:
如果x为False,返回y的值,
如果x为True,不再判断y,返回x的值。
not非运算:
“not 表达式” 返回表达式结果的“相反的值”。如果表达式结果为真,则返回false;如果表达式结果为假,则返回true。
>>> not 1 False >>> not 2 False >>> not 0 True >>> not True False >>> not False True
比较运算符(关系运算符):
比较运算符关系运算符包括:
<小于运算符,<=不大于运算符,>大于运算符,>=不小于运算符,==等于运算符,!=运算符
< :
如果左操作数的值小于右操作数的值,返回True,否则返回False
> :
如果左操作数的值大于右操作数的值,返回True,否则返回False
!= :
如果两个操作数的值不相等,返回True,否则返回False
<= :
如果左操作数的值小于或等于右操作数的值,返回True,否则返回False
>= :
如果左操作数的值大于或等于右操作数的值,返回True,否则返回False
== :
如果两个操作数的值相等,返回True,否则返回False 。【注意,只比较值是否相同,不计较内存地址是否相同】
赋值运算符:
=:将右侧操作数的值分配给左侧操作数
c = a + b 将 a + b 的运算结果赋值为 c
+=:将右操作数相加到左操作数,并将结果分配给左操作数
c += a 等效于 c = c + a
-=:从左操作数中减去右操作数,并将结果分配给左操作数
c -= a 等效于 c = c - a
*=:将右操作数与左操作数相乘,并将结果分配给左操作数
c *= a 等效于 c = c * a
/=:将左操作数除以右操作数,并将结果分配给左操作数
c /= a 等效于 c = c / a
%=:将左操作数除以右操作数的模数,并将结果分配给左操作数
c %= a 等效于 c = c % a
**=:执行指数(幂)计算,并将值分配给左操作数
c **= a 等效于 c = c ** a
//:运算符执行地板除运算,并将值分配给左操作数
c //= a 等效于 c = c // a
位运算符:
&:
按位与操作
|:
按位或操作
<<:
二进制左移
>>:
二进制右移
^:
二进制异或
~:
~x,返回将x的二进制取反之后的值
成员运算符:
成员运算符包括:in运算符,not in运算符
in:
x in y ,如果在指定的序列y中找到x,则返回 true
,否则返回 false
。
not in :
x not in y ,如果在指定的序列y中找不到x,则返回 true
,否则返回 false
。
身份运算符:
身份运算符包括:is 运算符, is not运算符
身份运算符比较两个对象的内存位置
is :
内存位置相同返回True,否则返回False
>>> str1="apple" >>> str2=str1 >>> id(str1) 2590247801216 >>> id(str2) 2590247801216 >>> str2 is str1 True
is not :
内存位置不相同返回True,否则返回False
a=1 b=1 c=999999999 d=999999999 print(id(a),id(b),a is b) print(id(c),id(c),c is d) str1="apple" str2="apple" print(id(str1),id(str2),str1 is str2) l1=['a','b','c'] l2=['a','b','c'] print(id(l1),id(l2),l2 is l1)
上述代码结果:
另外的测试:
>>> a=1000000 >>> b=1000000 >>> id(a) 2590249791600 >>> id(b) 2590249791632 >>> a="str1" >>> b="str1" >>> id(a) 2590249830528 >>> id(b) 2590249830528
这个问题体现缓存技术的使用:为了节省内存空间,或者为了节省时间,对于数据是同一份不可变的对象的不同名变量,使用缓存技术可以节约空间,而对于可变对象,如即使初值相同的列表,后面的操作不同为了不互相干扰,所以不使用缓存技术来节约空间。
如何查看缓存设置:待补充。
is 与 == 区别:
引用对象是否为同一个, == 用于判断引用变量的值是否相等。
运算符优先级:
运算符的优先级:
运算符的次序,序号小的优先级大于序号大的:
建议使用小括号来指示运算优先级,避免繁杂记忆。
三元表达式(三元运算符):
格式:条件为真时的结果 if 判定条件 else 条件为假时的结果
>>> a=250 if True else 150 >>> a 250 >>> a=220 if 1<0 else 1 >>> a 1
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python学习-53 正则表达式 2019-08-13
- Python 运算符 各类运算符总结 2019-07-24
- python的比较关系运算符和逻辑运算符 2019-07-24
- Python中的逻辑运算符 2019-07-24
- 【第三篇】Python流程控制和运算符 2019-07-24
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