python中的运算符
来源:互联网 发布:ubuntu下安装jdk rpm 编辑:程序博客网 时间:2024/06/03 10:53
运算符
描述
x+y,x-y
加、减,“+”号可重载为连接符
x*y,x**y,x/y,x%y
相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化
<,<=,>,>=,==,<>,!=
比较运算符
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=
自变运算符
x|y
按位或
x^y
按位异或
x&y
按位与
~x
按位取反
x<<,x>>y
x向左或向右移y位
is, is not
等同测试
in, not in
是否为成员测试
or,and,not
逻辑运算符
x[i],x[i:j],x.y,x(...)
索引,分片,限定引用,函数调用
(...),[...],{...},'...'
元组,列表,字典,转化为字符串
2.3.2. 运算符优先顺序
运算符
描述
'expr'
字符串转换
{key:expr,...}
字典
[expr1,expr2...]
列表
(expr1,expr2,...)
元组
function(expr,...)
函数调用
x[index:index]
切片
x[index]
下标索引取值
x.attribute
属性引用
~x
按位取反
+x,-x
正,负
x**y
幂
x*y,x/y,x%y
乘,除,取模
x+y,x-y
加,减
x<<y,x>>y
移位
x&y
按位与
x^y
按位异或
x|y
按位或
x<y,x<=y,x==y,x!=y,x>=y,x>y
比较
x is y,x is not y
等同测试
x in y,x not in y
成员判断
not x
逻辑否
x and y
逻辑与
x or y
逻辑或
lambda arg,...:expr
Lambda匿名函数
2.3.3. 真值表
对象/常量
值
""
假
"string"
真
0
假
>=1
真
<=-1
真
()空元组
假
[]空列表
假
{}空字典
假
None
假
2.3.4. 复合表达式
· 对于and,当计算a and b时,python会计算a,如果a为假,则取a值,如果a为真,则python会计算b且整个表达式会取b值。如:
· >>> a,b=10,20
· >>> a and b #a is true
· 20
· >>> a,b=0,5 #a is false
· >>> a and b
· 0
· 对于or,当计算a or b时,python会计算a,如果a为真,则整个表达式取a值,如果a为假,表达式将取b值。如:
· >>> a,b=10,20
· >>> a or b
· 10
· >>> a,b=0,5
· >>> a or b
· 5
· 对于not,not将反转表表达式的“实际值”,如果表达式为真,not为返回假,如为表达式为假,not为返回真。如:
· >>> not 2
· False
· >>> not 0
· True
· >>> not "test"
· False
· >>> not ""
· True
2.4. 给变量赋值
· 简单赋值,Variable(变量)=Value(值)。
· >>>a=1
· >>>b=2
· >>>print a,b
· 1 2
· 多变量赋值,Variable1,variable2,...=Value1,Value2,...
· >>>a,b,c=1,2,3
· >>>print a
· 1
· >>>print b
· 2
· >>>print c
· 3
多变量赋值也可用于变量交换,接上例:
>>>a,b,c=c,b,a
>>>print a
3
>>>print b
2
>>>print c
1
· 多目标赋值,a=b=variable
· >>> a=b=1
· >>> a
· 1
· >>> b
· 1
· >>> a=2
· >>> a
· 2
· >>> b
· 1
· 自变赋值,如+=,-=,*=等。在自变赋值中,python仅计算一次,而普通写法需计算两次;自变赋值会修改原始对象,而不是创建一个新对象。
- python中的运算符
- python 中的运算符
- Python中的运算符
- Python中的运算符
- python中的三元运算符
- python中的运算符重载
- python中的运算符重载
- python中的位运算符
- python 中的算数运算符
- python中的算术运算符
- python中的各类运算符
- 03Python中的运算符
- 3.2 python中的运算符 [python入门教程]
- Python中的三目运算符
- Python中的按位运算符
- python中的运算符优先级问题
- python中的xor运算
- python中的三元运算
- linux下实现定时执行php脚本
- Java 类的热替换 —— 概念、设计与实现
- Java - Map
- 在ubuntu下使用Eclipse搭建Hadoop开发环境
- vlc-for-android
- python中的运算符
- Hadoop自定义分组Group
- Mybatis插入字段值乱码的解决方案
- 使用tar命令打包文件时,如何将符号链接文件替换为源文件
- CONTAINING_RECORD
- 正确加载 Javascript 和 CSS 到 WordPress
- hadoop Shell命令详解
- web.xml中classpath的理解
- killall -USR1&-HUP