当前位置: 首页 > ds >正文

从零开始的python学习——语句

ʕ • ᴥ • ʔ

づ♡ど

 🎉 欢迎点赞支持🎉

个人主页:励志不掉头发的内向程序员;

专栏主页:python学习专栏;


文章目录

前言

一、顺序语句

二、条件语句

2.1、什么是条件语句

2.2、语法格式

2.3、缩进和代码块

2.4、空语句 pass

三、循环语句

3.1、while 循环

3.2、for 循环

3.3、continue

3.4、break

总结


前言


一、顺序语句

默认情况下,Python 的代码执行顺序是按照从上到下的顺序,依次执行的。

print(1)
print(2)
print(3)

这个代码的执行结果一定是 “123”,而不会出现 “132” 或者 “321” 等。这种按照顺序执行的代码,我们称为顺序语句。

这个顺序是很关键的,我们编程是一件明确无歧义的事情,安排好任务的顺序,我们计算机才能够正常的执行。如果这个顺序乱了,我们的计算机就会很困扰。

二、条件语句

2.1、什么是条件语句

条件语句能够表达 “如果.......否则........” 这样的语义,这构成了计算机中基础的逻辑判定。

条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向。

如果 我认真学习

        我就容易找到工作

否则

        我就容易毕业就失业

其中 “我认真学习” 称为条件,如果条件成立(条件为真),则会出现 “我就容易找到工作” 的情况。如果条件不成立(条件为假),则会出现 “我就容易毕业就失业”。

当然,我们的逻辑反过来也是可以的。

如果 我选择躺平摆烂

        我就容易毕业就失业

否则

        我就容易找到工作

在这个条件语句中 “我选择躺平摆烂” 称为条件,如果条件成立(条件为真),则会出现 “我就容易毕业就失业” 的情况。如果条件不成立(条件为假),则会出现 “我就容易找到工作”。

这两种写法所表达的含义是一样的。

总的来说,条件语句就是根据一个具体条件的成立与否,来决定接下来的逻辑走向。

2.2、语法格式

Python 中使用 if else 关键字表示条件语句。

(1)if

if expression:

        do_something1

        do_something2

next_something

如果 expression 值为 True,则执行 do_something1,do_something2,next_something。

如果 expression 值为 False,则只执行 next_something,不执行 do_something1,do_something2。

这也就是说当我们的 if 后面的条件成立了,就会做在 if 中的全部事情,然后再去执行 下一件事情。但是如果不成立,那就不会执行 if 中的全部事情,直接去执行下一件事情。

num = input("请输入年龄: ")
num = int(num)
if 0 < num < 20:print(f"{num}岁,真年轻")print("加个微信")
print("游戏结束了")

我们可以看看这个代码如果 if 条件为真返回的是什么,

条件为假返回的是什么。

(2)if - else

if expression:

        do_something1

else:

        do_something2

如果 expression 值为 True,则执行 do_something1。

如果 expression 值为 False,则执行 do_something2。

这个和 if 语句相比多了一个 else,就是说如果我们 if 后面的条件成立了就去执行 if 中的全部事情,然后跳过 else 直接去执行下一件事情。如果条件不成立就会跳过 if 中的事情,直接去执行else 中的全部事情,然后再去执行下一件事情。

num = input("请输入年龄: ")
num = int(num)
if 0 < num < 20:print(f"{num}岁,真年轻")print("加个微信")
else:print("有车没,有房没,结婚没,有娃没")
print("游戏结束了")

我们可以看看这个代码如果 if 条件为真返回的是什么,

条件为假返回的是什么。

(3)if - elif - else

if expression1:

        do_something1

elif expression2:

        do_something2

else:

        do_something3

如果 expression1 值为 True,则执行 do_something1。

如果 expression1 值为 False,并且 expression2 值为 True,则执行 do_something2。

如果 expression1 值为 False,并且 expression2 值为 False,则执行 do_something3。

我们这个在上一个的基础上又多了一个 elif 的分支,它其实是 else if 的缩写。编译器会按照顺序从上往下去找条件符合的,如果 if 条件成立,那就去执行 if 中的全部事情,执行完了就直接跳过后面的所有分支(elif、else 全部跳过)。即使可能这些分支也有条件成立的也不会管,接着去完成下面的事情。如果 if 语句条件不成立,那就按照顺序从上往下去找。如果有条件成立的 elif语句就和上面一样运行。都不成立了就会去完成 else 中的全部事情。

num = input("请输入年龄: ")
num = int(num)
if 0 <= num < 6:print(f"{num}岁,好可爱的小宝宝")
elif 6 <= num < 20:print(f"{num}岁,好好学习天天向上")
elif 20 <= num < 30:print(f"{num}岁,美女加个微信")
elif 30 <= num < 60:print("有车没,有房没,结婚没,有娃没")
else:print("养老ing")
print("游戏结束了")

我们可以看看这个代码如果 if 条件为真返回的是什么,

其他条件返回的是什么,

条件为假返回的是什么。

Python 和很多编译器不太一样,

if后面的条件表达式,没有(),使用:作为结尾。

if/else 命中条件后要执行的“语法块”,使用缩进(通常是4个空格或者1个tab)来表示,而不是{ }。

对于多条件分支,不是写作 else if,而是 elif。

2.3、缩进和代码块

代码块指的是一组放在一起执行的代码。

在 Python 中使用缩进表示代码块,不同级别的缩进,程序的执行效果是不同的。

a = input("请输入一个整数: ")
if a == '1':print('hello')print('world')

我们这个代码如果我们输入 1,就会打印 hello world,否则就什么都不会打印。

而这个和它十分像的代码却不是这么回事。

a = input("请输入一个整数: ")
if a == '1':print('hello')
print('world')

这个代码不管输不输入1,都会打印 world,但是输入了1就会打印 hello world,不输就只打印world。

此时我们的 world 就和条件无关了,条件是否成立都会打印 world,不属于条件语句中的内容了。如果我们反过来会怎么样呢?

a = input("请输入一个整数: ")
if a == '1':
print('hello')print('world')

答案就是会出现错误。

错误是我们 if 后面应该有一个缩进块。我们的缩进块出现问题。

在 Python 中缩进是非常重要的,也不能乱写的。

像这样也是不允许的。所有我们在编写 Python 代码时务必要保证我们缩进是正确的。

在 Python 中,缩进表示代码块,在 if、elif、else、while、for等,需要跟上代码块的部分,都是需要使用缩进来表示的。

在 Python 中的代码块还可以嵌套。

if a == '1':if b == '2':print("111111")print("222222")
print("333333")

在此条件中就有了 if 条件嵌套的情况,也就是缩进嵌套。我们可以仔细观看缩进来方便我们理解这个代码。

我们通过缩进就可以知道框框中的都是满足 if 条件要做的事情。如果不满足就会跳过直接输出 ”333333“。然后在这个满足我们的条件让 a == 1 时,我们里面还有一个条件语句。

我们通过缩进即可以知道我们这个条件语句如果满足要做的事情就是输出 “222222”。这就是我们外面的 if 所嵌套的 if。如果满足 b == 2 就会输出 “111111”,当然如果想要让编译器读到这个 if语句就得先满足 a == 1 的这个 if 语句条件。

两个条件都满足,才会打印 “111111”,因为打印 “111111” 的语句有两级缩进,相当于是 if b == 2 条件内部的代码块。

第一个条件都满足,就会打印 “222222”,因为打印 “222222” 的语句只有一级缩进,相当于是 if a == 1 条件内部的代码块。

两个条件即使都不满足,也会打印 “333333”,因为打印 “333333” 的语句没有缩进,相当于和两个 if 都无关。

当有多级条件嵌套时,当前的语句属于哪个代码块,完全取决于缩进的级别。

2.4、空语句 pass

Python 中 pass 表示空语句,并不会对程序的执行有任何影响,只是占个位置,保持 Python 语法格式符合要求。

# 这两串代码是等价的
a = input("请输入一个整数:")
if a == 1:print("hello")a = input("请输入一个整数:")
if a != 1:pass
else:print("hello")

如果写成这样

a = input("请输入一个整数:")
if a != 1:else:print("hello")

程序不符合 Python 语法的,会直接报错。 

三、循环语句

有些操作是需要反复执行的,这种就需要使用循环。

3.1、while 循环

基本的语法格式

while 条件:

        循环体

  • 条件为真,则执行循环体代码。
  • 条件为假,则结束循环。

比如我们打印 1-10 的整数。

num = 1
while num <= 10:print(num)num += 1

我们 while 循环的条件是 num <= 10,也就是说如果我们每次循环结束后重新进行条件判断时 num 的值一直不超过10,循环就会一直进行,直到我们的条件不满足。就会跳出循环,而我们循环中每次循环就打印一次 num 的值,然后再给 num 加1。

当然,如果我们不写 num += 1 这句话,由于忘记写了更新循环变量的语句,循环就一直执行,永远满足条件,永远不会跳出循环,也就是所谓的死循环了。

陷入死循环后我们可以点击旁边的红色小方块来终止程序。

计算 1-1000 的和。

sum = 0
num = 1
while num <= 1000:sum += numnum += 1
print(sum)

3.2、for 循环

基本语法格式

for 循环变量 in 可迭代对象:

        循环体

在 Python 中的 for 和其他语言不同,没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单。

所谓的 “可迭代对象”,指的是 “内部包含多个元素”,能一个一个把元素取出来的特殊变量。

我们的这个语法格式的意思其实是把我们可迭代对象中的每个元素都分别取出来,然后带到循环变量中,再去运行循环体的逻辑。我们把可迭代对象中的每个元素都遍历一遍过后我们的循环就结束了。

我们可以来看一下我们 for 循环的打印 1-10。

for i in range(1, 11):print(i)

这样我们就完成了一个打印 1-10 的操作。

此处的 range 也是我们 Python 中的一个内置的函数。它起到的效果就是得到一个 “可迭代对象”,这个可迭代对象就包含了一系列的整数。它的整数范围规则是range(begin, end) => [begin, end),这是一个前闭后开的区间。就相当于[begin,end - 1]。所以我们这里是从1开始打印,但是不包含11。就是打印 1-10 了。

此时如果我不想打印 1-10,而是 2,4, 6,8,10 该怎么办,还是用range吗?确实是,我们range 函数还给我们提供了第三个参数,这个参数表示 “步长”,默认的步长值是1,也就是这一次取的值离上一个循环取的值相差1。我们可以通过修改这个步长来达到我们想要的效果。

for i in range(2, 12, 2):print(i)

我们这串代码的意思就是从2开始到12(不包含12)结束,每次取的值离上一次相差2,打印出来。我们就可以实现打印 2,4,6,8,10 了。

那我们打印从 10-1 怎么办呢?

for i in range(10, 0, -1):print(i)

我们的range是从10开始,0结束,步长是-1,就是每次取的值离上一次相差-1。这样就能完成。

我们的range灵活多变,我们具体情况具体分析。

我们可以再来尝试求一下 1 + 2 + 3 +......+ 100。

num = 0
for i in range(1, 101):num += i
print(num)

3.3、continue

continue 表示立即结束这一次循环,进入下次循环。

我们来举个例子:

假如我们要吃5个苹果。

for i in range(1, 6):print(f"吃第{i}个苹果")

假如我们吃到第三个苹果时吃到了一个虫子,我们就得跳过第三个苹果继续吃别的苹果。

for i in range(1, 6):if i == 3:# 发现第三个苹果,有一只虫continueprint(f"吃第{i}个苹果")

此时我们就没有吃第三个苹果了。这说明了我们吃到第三个苹果的时候就达成了 if 的条件,执行了continue,跳过了这次循环,就没有打印了。

3.4、break

break 表示立即结束整个循环。

我们再来举个例子:

假如我们吃苹果的时候吃到了半只虫子,让我吓得剩下的也不敢吃了。

for i in range(1, 6):if i == 3:#发现第三个苹果,有半只虫,不敢吃了breakprint(f"吃第{i}个苹果")

我们吃完第二个就直接跳出循环了。整个循环结束了就不会继续往后运行了。


总结

以上便是我们 Python 中的全部语句,我们可以去找找题目练习一下这些语句,这是一个代码的重要组成部分,我们掌握越熟练越好。大家加油。

🎇坚持到这里已经很厉害啦,辛苦啦🎇

ʕ • ᴥ • ʔ

づ♡ど

http://www.xdnf.cn/news/19488.html

相关文章:

  • python pyqt5开发DoIP上位机【自动化测试的逻辑是怎么实现的?】
  • lumerical_FDTD_光源_TFSF
  • 《中国棒垒球》垒球世界纪录多少米·垒球8号位
  • 第2.3节:AI大模型之Claude系列(Anthropic)
  • [特殊字符]️ STL 容器快速参考手册
  • LangChain实战(五):Document Loaders - 从多源加载数据
  • Python库2——Matplotlib2
  • JAVA EE初阶 4:文件操作和IO
  • PCIe 6.0 vs 5.0:带宽翻倍背后的技术革新与应用前景
  • 防护墙技术(一):NAT
  • 粒子群优化算法(PSO)
  • 从分子工具到技术革新:链霉亲和素 - 生物素系统与 M13 噬菌体展示的交叉应用解析
  • 项目管理方法适用场景对比
  • 每k个节点一组反转链表
  • 11 C 语言 sizeof 与指针实战指南:一维 / 二维数组计算注意事项 + 笔试真题解析 + sizeof strlen 对比
  • Python数据处理
  • MYSQL表结构优化场景
  • AI 赋能综合能源管理系统:开启智慧能源新时代
  • 深入理解 Rockchip 平台 DTS 中的 UART3 引脚配置
  • Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓
  • Photoshop - Ps 编辑图像
  • 深思熟虑智能体:基于 tencent youtu-agent 的五阶段投资研究系统
  • 第一个SpringBoot程序
  • 字数统计器和文本AI处理,非常好用
  • HBase高效并发锁:IdLock极简内存设计
  • 世界模型 World Models概述
  • 计算机算术8-浮点加法
  • uart学习
  • 基于FPGA的简易医疗呼叫器实现,包含testbench
  • 基于单片机智能垃圾桶/垃圾分类/语音垃圾桶