Python 运算符

python中运算符分为五大类:算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符(三元运算符)。

算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。

运算符

描述

+

-

*

/

//

取整除

%

取余

**

指数

运算实例

# + 注:(1+1) 是使1+1 作为一个整体,先进行运算,再进行格式化输出
print("1+1 = %d" % (1 + 1))
# -
print("1-1 = %d" % (1 - 1))
# * 注: 计算机中的乘用 *(星号) 代替,不是 x(字母)
print("1*1 = %d" % (1 * 1))
# / 注: 计算机中的除用 /(斜杠) 代替
print("1/1 = %s" % (1 / 1)) # 使用%s 占位只是为了显示小数位
print("10/3 = %s" % (10 / 3)) # 使用%s 占位只是为了显示小数位
# //
print("10//4 = %s" % (10 // 4)) # 使用%s 占位只是为了显示小数位
# **
print("2**10 = %d" % (2 ** 10))
# 运算结果
# 1+1 = 2
# 1-1 = 0
# 1*1 = 1
# 1/1 = 1.0
# 10/3 = 3.3333333333333335
# 10//4 = 2
# 2**10 = 1024

由以上结果可知

Python中除法默认转型成float 且默认保留一位小数

整除// : 是地板除, 既向下取整,

如果商不为整数, 则 结果为 商-1 - 商之间的整数

比如 10/4 的商为2.5 , 不是整数, 2.5 -1 到 2.5 之间的整数为2 ,所以 10 // 4 = 2 .

妙用: 在某些情况下可以利用整除的特性, 忽略奇偶性的判断

赋值运算符

运算符

描述

实例

=

赋值运算符

把 = 号右边的结果 赋给 左边的变量,

如 num = 1 + 2 * 3,结果num的值为7

+=

加法赋值运算符

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

注:

如果 = 右边是一个表达式, 会先计算右边, 得到的结果赋值给左边

例: A= 5 ,A += 3+5 , A 最终等于13.

比较运算符

运算符

描述

示例

==

检查两个操作数的值是否相等,

如果是则条件为真。

如a=3,b=3,则(a == b) 为 True

!=

检查两个操作数的值是否相等,

如果值不相等,则条件为真。

如a=1,b=3,则(a != b) 为 True

>

检查左操作数的值是否大于右操作数的值,

如果是,则条件为真。

如a=7,b=3,则(a > b) 为 True

<

检查左操作数的值是否小于右操作数的值,

如果是,则条件为真。

如a=7,b=3,则(a < b) 为 False

>=

检查左操作数的值是否大于或等于右操作数的值,

如果是,则条件为真。

如a=3,b=3,则(a >= b) 为 True

<=

检查左操作数的值是否小于或等于右操作数的值,

如果是,则条件为真。

如a=3,b=3,则(a <= b) 为 True

注:

如果左右两边有表达式, 则先计算表达式再比较, 例如: 7+7 > 5+5 , 先计算 7+7 与 5+5 ,然后用两者的结果进行比较 14 > 10 , 结果为true

逻辑运算符

运算符

逻辑表达式

描述

实例

and

x and y

布尔"与":

如果 x 为 False,x and y 返回 False,

否则它返回 y 的值。

True and False, 返回 False。

or

x or y

布尔"或":

如果 x 是 True,它返回 True,

否则它返回 y 的值。

False or True, 返回 True。

not

not x

布尔"非":

如果 x 为 True,返回 False 。

如果 x 为 False,它返回 True。

not True 返回 False,
not False 返回 True
| 运算符 |逻辑表达式 |描述
|---|---|
|&| 0 & 1 |位运算符: 位与
|||0 | 1 |位运算符: 位或
||1 |取反
|^|0 ^ 1 |异或
|>>|4>>1 |右移运算符
|<

注:

左移一位 <==> 乘以2, 既2*2 等价于 2<<1

右移一位 <==> 除以2, 既2/2 等价于 2>>1

左移右移效率要高于乘除

加的效率高于减的效率

数字的逻辑运算

a = 0
b = 1
c = 3
# and 运算,只要有一个值为 0 则结果为0,否则结果为最后一个非 0 数字
a and b # 0
b and a # 0
c and b # 1
b and c # 3
# or 运算,只有所有值为 0 结果才为0,否则结果为第一个非 0 数字
a or a # 0
a or b # 1
b or a # 1
c or b # 3
b or c # 1

条件运算符(三元运算符)

格式

变量 = 值1 if 条件 else 值2

a = 10
b = 20
c = a if a>b else b
print(c) # 条件不成立,把 b 的值赋给 c,也就是 c 的值为 20

数据类型转换


数据类型转换

程序的三种结构

程序的三种结构分别是 顺序结构、选择结构 和 循环结构。

顺序结构

如同名字一样,程序中的代码按照自上而下执行的排列顺序依次执行 ,则称为顺序执行,或顺序结构。

选择结构

程序按照某个条件选择其中一个分支进行执行,称为分支结构,或选择结构。

if判断语句

if 条件语句:

成立则执行的语句

age =30
if age >= 18:
print("我已经成年了")

if-else 判断语句

if 条件语句:

条件成立,执行的语句

else:

条件不成立,执行的语句

age =30
if age >= 18:
print("成年了")
else:
print("未成年")

if-elif 判断语句

if 条件语句:

条件成立,执行的语句

elif 条件语句2:

条件语句2成立,执行的语句

else:

条件都不成立,执行的语句

age =30
if age >= 30:
print("中年人")
elif age >= 18:
print("成年人")
else:
print("未成年")

if嵌套的格式

if 条件1:

满足条件1 做的事情1

满足条件1 做的事情2

if 条件2:

满足条件2 做的事情1

满足条件2 做的事情2

就像 if 语句 可以嵌套一样,if、if-else、if-elif 三者之间可以根据需求相互嵌套使用

Python中 if 特殊用法

区间比较

a = 10
1
11