💖作者简介:大家好,我是车神哥,府学路18号的车神🥇
⚡About—>车神:从寝室到实验室最快3分钟,最慢3分半(那半分钟其实是等红绿灯)
📝个人主页:车手只需要车和手,压力来自论文_府学路18号车神_CSDN博客
🥇 官方认证:人工智能领域优质创作者
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋⚡希望大家多多支持🤗~一起加油 😁
专栏
最近发现有些东西长时间不用就要忘了,坚持每天复习总结一个小知识点
吧~
今天写点儿Python基础,流程控制块。
代码块
首先,需要了解的是代码块,它不是一种特殊的语句,它是一系列功能相似的代码集合,通过一定的编程规范将一组代码编写成一组快,相当于封装成一体。
在Python中使用缩进的方式对代码进行分块,缩进格式一样的代码则成为一个代码块。(一般使用4个空格位
一个缩进单位,当然你也可以按Tab键
进行缩进也没毛病)
简洁的Python不需要明确的结束标记,但是在通常的工程项目中,为了方便,一般位在结尾的位置加上一个pass语句
来表示当前代码执行结束。
条件判断语句
在编写代码时,一般不会一句一句的写来执行,通常都会使用判断语句。
如下面的示例:
假如学生A的成绩为70,按照60的及格线来判断该学生是否及格。
studentA = 70
if studentA > 60:
print("及格啦~")
else:
print("不及格~")
显而易见,该指令只进行了if studentA > 60:
的语句,没执行else:
,如果将studentA=70
改为studentA=40
。(我们可以知道,条件判断语句是根据布尔表达式的值选择代码块执行的)
下面给出一些会被判断为假(False
)的值:
False,None,0,"",(),[],{}
除了上述的这些类型外,都会被判别为真(True
)执行相应的代码块。
上面是一个简答例子,但是在实际工程上或者现实中会更加复杂多变。再举例一个多情况的。
举例:
我们进一步划分成绩的标准,90以上为”优秀“;80~89为“良好”;70~79为”中等“;60~69为“及格”;60以下为”不及格“。
studentA = 80
if studentA >= 90:
print("及格")
elif studentA >= 80:
print("良好")
elif studentA >= 70:
print("中等")
elif studentA >= 60:
print("及格")
else:
print("不及格")
通过以上代码,会被判断为良好,我们面对这种多次判断需要使用elif
进行多次区分判断。
在条件判断语句中,不仅可以使用算术运算符,其他任何的布尔运算亦可,如使用成员表达式来判断今天是否是工作日:
today = 'TUE'
week = ['MON', 'TUE', 'WED', 'THU', 'Fri']
if today in week:
print("今儿是工作日")
else:
print("今儿是休息日")
显而易见,执行完毕后会输出"今儿是工作日"
.
今儿是周四,明儿还得开项目会,哎,论文投稿遥遥无期,毕业压力日益增加,行吧,佛系了@_@白天搞科研,晚上复习基础,慢慢儿来吧~(2022.4.14)
循环语句
循环语句是将一个代码块执行多次的一种语法结构,若想打印一个数组,可遍历数组中的每一个元素,然后打印显示,当遍历完毕整个数组,则循环终止。
当然,也可以使用break
关键字在循环过程中退出,或者使用continue
跳过其中的一次循环。
for 循环
for 循环的语句结构:
for i in t:
print("10086")
上语句中,t
是一个包含多个元素的序列,可以是字符串
、数组
等。
每次遍历后悔从s
中提取一个元素并赋值给变量i
, 同时执行代码块
。
遍历数组,并打印出每一个元素乘以一个元素值 5 :
s = [1, 2, 3, 4, 5]
for i in s:
print(i*5)
来看下输出结果是什么:
5
10
15
20
25
使用continue
来跳过部分循环,如果只希望打印奇数,则需要设置判断语句:
s = [1, 2, 3, 4, 5]
for i in s:
if i % 2 ==0:
continue
print(i*5)
结果为:
5
15
25
相反,如果我们用break
,则会跳出循环:
s = [1, 2, 3, 4, 5]
for i in s:
if i > 3:
break
print(i*5)
结果为:
5
10
15
while 循环语句
通常用的较多的第二种,也就是while
语句了。
结构如下:
i = 10
while i <= 20:
print(i)
i+=1
从上可看出,是一个很简单的循环语句。while语句会根据判断条件来决定是否执行内部代码运行;只有当判断为条件真的时候才能执行内部代码;否则,循环停止结束。
当然,while语句也可以使用continue和break来实现循环控制。如下示例。
example1:
num = [1,2,3,4,5,6,7,8]
x = 0
while x < len(num):
if num[x] % 2 == 0:
x += 1
continue
print(num[x])
x += 1
输出结果为:
1
3
5
7
Process finished with exit code 0
example2:
输出小于等于4的数
num = [1,2,3,4,5,6,7,8]
x = 0
while x < len(num):
if num[x] >= 4:
break
print(num[x])
x += 1
输出结果为:
1
2
3
Process finished with exit code 0
迭代进阶版
Iterable
我们学过for循环,这种遍历操作叫做迭代,在Python中并非所有的对象都可以进行迭代,如下就会报错:
num = 28421
for x in num:
print(x)
输出:
Traceback (most recent call last):
File "D:/项目/minprogram/学习笔记/Django_learn/day02.py", line 10, in <module>
for x in num:
TypeError: 'int' object is not iterable
Process finished with exit code 1
上述报错可知,由于num
是一个非迭代对象,所以不能进行迭代操作。
那么如何判断是否为一个迭代对象呢?
可以使用collections模块
的Iterable类型
进行判断
from collections.abc import Iterable
num = 22412
print(isinstance(num, Iterable))
num2 = [2,3,4,5,6]
print(isinstance(num2, Iterable))
输出结果:
False
True # 返回布尔型
Process finished with exit code 0
enumerate
可能你会对enumerate
比较陌生,enumerate函数
可以将一个序列转换为索引-元素对
,可以方便在操作序列时,使用元素的索引号。
下面给出for循环
下使用enumerate函数
,在循环中同时迭代索引
和元素本体
:
st = ["111", '2131','1231245124']
for x, value in enumerate(st):
print(x, value)
输出结果:
0 111
1 2131
2 1231245124
列表推导式
列表推导式是利用其他列表创建新列表的一种方式,类似于for循环的一样。
>>> [x*x for x in range(5)]
[0, 1, 4, 9, 16]
如上式,”for x in range(5)“
相当于一个for循环
,range()函数
创建一个新列表,在每次循环的时候,将循环变量x
赋值给表达式x*x
中,x*x
相当于for循环
中的代码块,最后根据x*x
生成新列表。
又如,我们再往for循环中嵌套if语句,如下
>>> [x*x for x in range(5) if x % 2 != 0]
[1, 9]
同理,也可以再嵌套for循环
>>> [(x,y) for x in range(3) for y in range(5) if x!=y]
[(0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 3), (2, 4)]
好啦,本期就到这里了啊~
跑步去了。
❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!
⚡To Be No.1⚡⚡哈哈哈哈
⚡创作不易⚡,过路能❤关注、收藏、点个赞❤三连就最好不过了
ღ( ´・ᴗ・` )
❤