【解释型语言】Python——运算符与流程控制

Python基础学习系列


3.1 运算符

3.1.1 算数运算符

a. +
  • 加法运算
  • 字符串拼串操作
b. -

减法运算

c. *
  • 乘法运算
  • 对字符串进行复制操作,*n 则复制n次
d. /
  • 除法运算:结果返回浮点数
e. //
  • 整除,只会保留计算后的整数位
f. **
  • 幂运算

在这里插入图片描述

g. %
  • 取模运算
  • 当被除数是整数,模是小数是计算结果错误

在这里插入图片描述

3.1.2 赋值运算符

符号含义
=赋值
+= a + = 5 ⇒ a = a + 5 a += 5 \Rightarrow a = a + 5 a+=5a=a+5
-=
*=
/=
**=
//=
%=

3.1.3 关系运算符

比较两个值的大小,返回 bool

  • 不支持不同类型比较
  • 两个符号串可进行关系运算
    • 逐位比较 Unicode 编码
符号含义
>
<
<=
>=
==
!=
is比较两个对象是否是同一个对象
is not比较的是对象的 id
连用
result = 1 < 2 < 3 # 相当于 1 < 2 and 2 < 3
res = 10 < 20 > 15 # res = true

3.1.4 逻辑运算符

逻辑判断

not
a = True  #True
b = not a #False

在这里插入图片描述

and

第一个值是 False ,则返回第二个值

or

第一个值是 True ,则返回第二个值

非bool的逻辑运算

非bool进行与或运算,Python解释器会将其 bool() 后,在进行运算,返回 bool 类型数值

result = 1 and 2 # 2
result = 1 and 0 # 0
result = 0 and None # 0
result = 1 or 2 # 1
result = 1 or 0 # 1
result = 0 or None #None

3.1.5 条件运算符

三目运算符

语句1 if 条件表达式 else 语句2

在这里插入图片描述

先对条件表达式进行求值判断

  • 如果 True ,执行语句1,返回执行结果
  • 如果 False ,执行语句2,返回执行结果

3.1.6 运算符优先级

a. 优先级

运算符的计算顺序

运算顺序不同,结果也会不同

1 + 2 * 3
7
(1+2)*3
9
运算符含义结合性
()小括号
x[i]x[i1:i2]索引运算符
x.attribure属性访问
**乘方
~x;+x;-x位非;正号;负号
*;/;%;//;乘;除;取余;整除
+;-加;减
<<;>>左移;右移
&位与
^位异或
``位或
in;not in;is;is not;<;<=;>;>=;!=;==成员;身份;比较运算符
not
and
or
`=;+=;-=;*=;/=;%=;%=;**=;<<=;>>=;&=;^=;=`赋值运算
b. 结合性

决定同一优先级运算符的是从左到右还是从右到左

左结合性:从左到右开始计算

右结合性:从右到左开始计算

大部分运算符都是左结合性,只有下列运算符是右结合性

  • 乘方、单目运算符(位非、正负号、逻辑非)、位与、赋值运算符、三目运算符

在这里插入图片描述

3.2 流程控制

Python默认自上而下顺序执行语句

通过流程控制语句可以改变执行顺序

两大类:

  • 条件判断
  • 循环语句

3.2.0 预备知识

a. 代码块
  • 代码块以缩进开始,到恢复缩进级别结束
  • Tab键四个空格
  • 整个代码缩进方式必须统一
b. input()函数

用于获取用户输入,返回输入值,以回车结束输入

input(str hint) 返回值是 字符串

在这里插入图片描述

3.2.1 条件判断

a. 格式
if 条件表达式:
    语句1

执行流程

  • 条件表达式为 True ,执行if之后的语句/代码块
  • 条件表达式为 False ,不执行
b. if…else…
if 条件表达式:
    代码块1
else:
    代码块2
c. if…elif…else
if 条件表达式1:
	代码块1
elif 条件表达式2:
	代码块2
else:
	代码块3

3.2.2 循环语句

  • while
  • for
a. while
while 条件表达式:
	代码块1
else:
	代码块2
b. while嵌套循环
while 表达式1:
	while 表达式2:
# 打印乘法表
i = 1

while i <= 9:
	j = 1
	while j <= i:
		print(f'{i}*{j}={i*j} ',end='')
		j += 1
	print()
	i += 1

在这里插入图片描述

c. break

退出最近循环,包括else

i = 0
while i < 5:
    if i == 3:
        break
    print(i)
    i += 1
else:
    print("循环结束")

在这里插入图片描述


求质数

i = 2

while i <= 10:
	flag = True
	j = 2
	t = i ** 0.5
	while j <= t:
		if i%j == 0:
			flag = False
			break
		j += 1
	if flag:
		print(i)
	i += 1
d. continue

退出当次循环

i = 0
while i < 5:
    if i == 3:
        i += 1
        continue
    print(i)
    i += 1
else:
    print("循环结束")

在这里插入图片描述

e. pass

表示占位,不做任何事情

定义一个空语句块会报错,所以可以用 pass 填充,使得程序可以正常运行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AmosTian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值