Python运算符

本文详细介绍了Python中的各种运算符,包括算术运算符、比较运算符、逻辑运算符等,并解释了它们的优先级。同时,文章还深入探讨了Python中的变量赋值方式,包括简单赋值、多变量赋值、多目标赋值和自变赋值。
摘要由CSDN通过智能技术生成


Table 2.1. Python
运算符列表

运算符

描述

x+yx-y

加、减,“+”号可重载为连接符

x*yx**yx/yx%y

相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化

<<=>>===<>!=

比较运算符

+=-=*=/=%=**=<<=>>=&=^=|=

自变运算符

x|y

按位或

x^y

按位异或

x&y

按位与

~x

按位取反

x<<x>>y

x向左或向右移y

is, is not

等同测试

in, not in

是否为成员测试

orandnot

逻辑运算符

x[i]x[i:j]x.yx(...)

索引,分片,限定引用,函数调用

(...)[...]{...}'...'

元组,列表,字典,转化为字符串

2.3.2. 运算符优先顺序

Table 2.2. 运算符优先顺序列表(从最高到最低)

运算符

描述

'expr'

字符串转换

{key:expr,...}

字典

[expr1,expr2...]

列表

(expr1,expr2,...)

元组

function(expr,...)

函数调用

x[index:index]

切片

x[index]

下标索引取值

x.attribute

属性引用

~x

按位取反

+x-x

正,负

x**y

x*yx/yx%y

乘,除,取模

x+yx-y

加,减

x<<yx>>y

移位

x&y

按位与

x^y

按位异或

x|y

按位或

x<yx<=yx==yx!=yx>=yx>y

比较

x is yx is not y

等同测试

x in yx not in y

成员判断

not x

逻辑否

x and y

逻辑与

x or y

逻辑或

lambda arg,...:expr

Lambda匿名函数

2.3.3. 真值表

Table 2.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

·         对于notnot将反转表表达式的实际值,如果表达式为真,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仅计算一次,而普通写法需计算两次;自变赋值会修改原始对象,而不是创建一个新对象。

转自:http://blog点163.com/zhulp0372@yeah/blog/static/11589447920117124348435/

转载于:https://www.cnblogs.com/cj942132427/p/3843363.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值