python运算符

吃可爱长大的小学妹 提交于 2019-12-06 02:20:35

一、算数运算符

1、加法运算符 +

print(5 + 3)
# + 还可以用作字符串的连接运算符
print('Hello' + 'World')

输出结果:
8
HelloWorld

2、减法运算符 -

print(5 - 3)
# - 还可以用作求负的运算符
x = 5
print(-x)

输出结果:
2
-5

3、乘法运算符 *

print(5 * 3)
# * 还可以用作字符串连接运算符,表示 n 个字符串连接
s = 'xyz '
print(s * 5)

输出结果:
15
xyz xyz xyz xyz xyz 

4、除法运算符 / 和 //

  / 表示普通除法,即除不尽时,会产生小数部分;而 // 表示整除,即结果只有整数部分,小数部分将会被舍弃。不允许使用 0 作为除数,否则将会引发 ZeroDivisionError 错误。

a = 15.3
b = 4.2
c1 = a / b
c2 = a // b
print(c1, type(c1))
print(c2, type(c2))

输出结果:
3.642857142857143 <class 'float'>
3.0 <class 'float'>

5、求余运算符 %

print(5 % 3)
print(5.2 % 3.1)
print(-5.2 % -3.1)
print(5.2 % -1.5)
print(-5.2 % 1.5)

输出结果:
2
2.1
-2.1
-0.7999999999999998
0.7999999999999998

6、乘方运算法 **

print(5 ** 3)
print(27 **(1/3))    # 开方

输出结果:
125
3.0

 

二、赋值运算符

1、基本赋值运算符 =

  使用“=”作为赋值运算符,常用于将表达式的值赋给另一个变量,也可使用赋值运算符将一个变量的值赋给另一个变量。

st = "Python"
a = b = c = 20

2、扩展赋值运算符

+= 加赋值 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 指的是右移的位数

 

三、位运算符

& 按位与 a & b 5 & 3
| 按位或 a | b 5 | 3
^ 按位异或 a ^ b 5 ^ 3
~ 按位取反 ~a ~5
<< 按位左移 a << b 5 << 3,表示数字 5 按位左移 2 位
>> 按位右移 a >> b 5 >> 3,表示数字 5 按位右移 3 位

 

四、比较运算符

> 大于,如果运算符前面的值大于后面的值,则返回 True;否则返回 False
>= 大于或等于,如果运算符前面的值大于或等于后面的值,则返回 True;否则返回 False
< 小于,如果运算符前面的值小于后面的值,则返回 True;否则返回 False
<= 小于或等于,如果运算符前面的值小于或等于后面的值,则返回 True;否则返回 False
== 等于,如果运算符前面的值等于后面的值,则返回 True;否则返回 False
!= 不等于,如果运算符前面的值不等于后面的值,则返回 True;否则返回 False
is 判断两个变量所引用的对象是否相同,如果相同则返回 True
is not   判断两个变量所引用的对象是否不相同,如果不相同则返回 True

  is 和 == 的区别:== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象

a = (1, 2, 3)
b = (1, 2, 3)
print(id(a), id(b))        # id()返回输入值的内存地址
print(a == b)
print(a is b)

输出结果:
17753720 17896720
True
False    

 

五、逻辑运算符

and 逻辑与(简称“与”) a and b 有 2 个操作数 a 和 b,只有它们都是 True 时,才返回 True,否则返回 False。
or 逻辑或(简称“或”) a or b 有 2 个操作数 a 和 b ,只有它们都是 False 时,才返回 False,否则返回 True。
not 逻辑非(简称“非”) not a 只需要 1 个操作数 a,如果 a 的值为 True,则返回 False;反之,如果 a 的值为 False,则返回 True。

 

六、三目运算符

  三目运算符的规则是:先对逻辑表达式求值,如果逻辑表达式返回 True,则执行并返回 if 前表达式的值;如果逻辑表达式返回 False,则执行并返回 if 后表达式的值。

a = 5
b = 3
st = "a大于b" if a > b else  "a不大于b"
print(st)

输出结果:
a大于b

  python 允许在三目运算符中放置多条语句。python 主要支持以下两种放置方式:

  1. 多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。
  2. 多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。
a = 5
b = 3
st = print("python"), 'a大于b' if a > b else  "a不大于b"
print(st)

st = print("python"); x = 20 if a > b else  "a不大于b"
print(st)
print(x)

输出结果:
python
(None, 'a大于b')

python
None
20
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!