Python基本运算符
目录
数学运算
运算符
说明
实例
结果
+
加
12.45 + 15
27.45
-
减
4.56 - 0.26
4.3
*
乘,还可以与字符串使用,表示将字符串重复n次
5 * 3.6
"ABC" * 2
18.0
ABCABC
/
除法(和数学中的规则一样)
7 / 2
3.5
//
整除(只保留商的整数部分)
7 // 2
3
%
取余,即返回除法的余数
7 % 2
1
**
幂运算/次方运算,即返回 x 的 y 次方
2 ** 4
16
整型和浮点型都属于数字,彼此可以直接进行数学运算。
+号和*号在字符串和列表中也能使用。+号能将多个字符串或列表拼接到一起,*号能将字符串或列表元素重复n次
x = '胖虎'
s = '吃肉'
print(x + s)
# 胖虎吃肉
l = [1,'a',3]
l2 = ['d','c','e']
print(l + l2)
# [1, 'a', 3, 'd', 'c', 'e']
print(s * 3)
# 吃肉吃肉吃肉
print(l * 3)
# [1, 'a', 3, 1, 'a', 3, 1, 'a', 3]
位运算
Python 位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算,并不是整数的二进制形式的运算。
位运算符
说明
使用形式
举 例
&
按位与
a & b
4 & 5
|
按位或
a | b
4 | 5
^
按位异或
a ^ b
4 ^ 5
~
按位取反
~a
~4
<<
按位左移
a << b
4 << 2,表示整数 4 按位左移 2 位
>>
按位右移
a >> b
4 >> 2,表示整数 4 按位右移 2 位
赋值运算
=:最基本的赋值运算符是等号=,用来将一个表达式的值赋给另一个变量;结合其它运算符,=还能扩展出更强大的赋值运算符。
运算符
说 明
用法举例
等价形式
=
最基本的赋值运算
x = y
x = y
+=
加赋值
x += y
x = x + y
-=
减赋值
x -= y
x = x - y
*=
乘赋值
x *= y
x = x * y
/=
除赋值
x /= y
x = x / y
%=
取余数赋值
x %= y
x = x % y
**=
幂赋值
x **= y
x = x ** y
//=
取整数赋值
x //= y
x = x // y
&=
按位与赋值
x &= y
x = x & y
|=
按位或赋值
x |= y
x = x | y
^=
按位异或赋值
x ^= y
x = x ^ y
<<=
左移赋值
x <<= y
x = x << y,这里的 y 指的是左移的位数
>>=
右移赋值
x >>= y
x = x >> y,这里的 y 指的是右移的位数
增量赋值
age += 2 # age=age+2
age -= 2
age **= 2 # age = age ** 2
print(age)
链式赋值
x=y=z=10
print(id(x))
print(id(y))
print(id(z))
交叉赋值
# 直接交换两个变量值,而不用定义第三个变量。
x=10
y=20
x,y=y,x
print(x)
print(y)
# 20 10
解压赋值
salary = [1.1, 2.2, 3.3, 4.4, 5.5]
mon1=salary[0]
mon2=salary[1]
mon3=salary[2]
mon4=salary[3]
mon5=salary[4]
# 下面的1行赋值等同于上面的5行
mon1,mon2,mon3,mon4,mon5=salary
print(mon1,mon2,mon3,mon4,mon5)
# 变量名多一个不行少一个不行,必须与值一一对应。下面俩都会报错
mon1,mon2,mon3,mon4=salary
mon1,mon2,mon3,mon4,mon5,mon6=salary
# 可以使用*_来接收其他多余的值。*号会将多余的值全部接收到一个列表中,然后复制给_
mon1,mon2,mon3,*_=salary
print(mon1,mon2,mon3)
print(_)
# 1.1 2.2 3.3
mon1,mon2,*_,mon5=salary
print(mon1)
print(mon2)
print(mon5)
# 1.1 2.2 5.5
# 字典接收的是键,可以通过键取到值。
dic={"k1":111,"k2":222,'K3':333}
x,y,z=dic
print(x,y,z)
# k1 k2 K3
x,*_=dic
print(x)
# k1
比较运算
比较运算符
说明
>
大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
<
小于,如果
==
等于,如果==两边的值相等,则返回 True,否则返回 False。
>=
大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<=
小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!=
不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is
判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not
判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。
==号同类型数据都可以进行比较。>和
逻辑运算符
逻辑运算符
含义
基本格式
说明
and
逻辑与运算,等价于数学中的“且”
a and b
当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or
逻辑或运算,等价于数学中的“或”
a or b
当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not
逻辑非运算,等价于数学中的“非”
not a
如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。
在没有括号“()”的情况下,优先级:not>and>or。同一优先级从左至右依次计算。
另外,and 和 or 运算符会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果。
短路运算
and运算只要有一项为False,后面的结果不用判断,最终结果一定为False。
or运算只要有一项为True,后面的结果不用判断,最终结果一定为True。
print('ha' and 123)
# 123
print(123 or 'abc')
# 123
身份运算
is比较的是id
==比较的是值
id一样,值一定一样。值一样,id不一定一样。
成员运算:
判断值是否在对象中。
in 若在,返回True。
not in 若不在,返回True。
例:s = '李白苏轼杜甫'
print('白苏' in s)
# True
print('李苏' nor in s)
#字符串‘李苏’为一个整体,并不包含在s当中,所以返回为True
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符
描述
**
指数 (最高优先级)
~ + -
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //
乘,除,取模和取整除
+ -
加法减法
>> <<
右移,左移运算符
&
位 'AND'
^ |
位运算符
<= < > >=
比较运算符
<> == !=
等于运算符
= %= /= //= -= += *= **=
赋值运算符
is is not
身份运算符
in not in
成员运算符
not and or
逻辑运算符
标签:基本,返回,运算,Python,运算符,print,True,赋值