Day 01——Task01:变量、运算符与数据类型
Day 02——Task02:条件与循环
Day 03——Task03:列表与元组(上)
Day 04——Task03:列表与元组(下)
Day 05——Task04:字符串与序列
Day 06——Task05:函数与Lambda表达式(上)
Day 07——Task05:函数与Lambda表达式(下)
Day 08——Task06:字典与集合
Day 09——Task07:文件与文件系统(上)
Day 10——Task07:文件与文件系统(下)
Day 11——Task08:异常处理
Day 12——Task09:else 与 with 语句
Day 13——Task10:类与对象(上)
Day 14——Task10:类与对象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模块
在Python中,条件语句(也称为条件分支语句)与类C语言中的条件语句使用方法大相径庭,区别在于将大括号包含分支部分改为缩进分支部分。
if 判断语句1:
执行语句1
elif 判断语句2:
执行语句2
else:
执行语句3
注意:
如果你的if语句的分支部分只有一条语句,你可以将该语句与if语句写在同一行中, 如下所示:
if(100 / 10 == 10): print("Uh...right!")
# Uh...right!
assert(断言) 用于判断一个表达式,在表达式条件为 False 的时候抛出异常。
assert True # 条件为 true 正常执行
#
assert False # 条件为 false 触发异常
# AssertionError
其等价于
if not expression:
raise AssertionError
常用与程序检测时置入的检查点,只有条件为 True 才能让程序正常工作。
a = 5
assert a == 5 # 条件为 true 正常执行
#
assert a == 3 # 条件为 false 触发异常
# AssertionError
不同于类C语言中有3种循环语句,Python只有for语句和whlie语句这2种循环语句,且与类C语言中的循环存在些许差异。
while 判断语句:
循环语句
其他语句
当判断语句为True时执行循环语句,执行结束后继续进行判断语句,若为True则执行循环语句,直至判断语句为False时才可执行接下来的其他语句。
我们可以令判断语句恒为 True 来实现无限循环,唯有达成某种条件时break强制跳出循环或者** Ctrl+C **终止程序。无限循环常见于生活中,例如曾经的小游戏“跳一跳”就是基于此的。
ans = 51
while True:
str = input("输入一个数字:")
a = int(str)
if(a == ans):
print("猜对了")
break
elif(a > ans):
print("太大了哦~")
else:
print("太小了哦~")
print("游戏结束~!")
在 while … else 在判断语句为 False 时执行 else 的语句块。
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
# 0 小于 5
# 1 小于 5
# 2 小于 5
# 3 小于 5
# 4 小于 5
# 5 大于或等于 5
如果while中循环语句只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
while(True): print("Uh...right!")
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
# Uh...right!
......
此时需要使用 Ctrl+C 来终止程序。
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
while True:
pass
此时程序将卡住,无法执行接下来操作,只能使用 Ctrl+C 来终止程序。
for i in ["C", "C++", "Perl", "Python"] :
if i == "Python":
pass
print ('pass')
print ( i)
print ("Good bye!")
# C
# C++
# Perl
# pass
# Python
# Good bye!
在Python中, for循环语句与其他类C语言有着很大的差别。
in语句与for循环语句结合,可以做到遍历in后面所跟的任何序列的项目,如一个列表或者一个字符串。
for i in [1,3,2,4,9,6]:
print(i)
# 1
# 3
# 2
# 4
# 9
# 6
languages = ["C", "C++", "Perl", "Python"]
for i in languages:
print (i)
# C
# C++
# Perl
# Python
同while一样,在 for … else 在判断语句为 False 时执行 else 的语句块。
for i in [1, 2, 3, 4, 5]:
if(i < 5):
print (i, " 小于 5")
else:
print (i, " 大于或等于 5")
# 0 小于 5
# 1 小于 5
# 2 小于 5
# 3 小于 5
# 4 小于 5
# 5 大于或等于 5
注:当在for循环语句中存在执行break语句时,跳出循环,且不执行else里面的语句块。
Language = ["C", "C++", "Python", "Perl"]
for i in Language:
if i == "Python":
print("I got you.")
break
print("Language " + i)
else:
print("Not Language")
print("Done!")
# Language C
# Language C++
# I got you.
# Done!
同while一样,如果for中循环语句只有一条语句,你可以将该语句与for写在同一行中, 如下所示:
languages = ["C", "C++", "Perl", "Python"]
for i in languages:print (i)
# C
# C++
# Perl
# Python
因为for中判断语句遍历了languages列表,使用的是类似于next指针的机制,当指向languages列表的最后一个元素时,next返回值为null,在for判断语句中为false,故终止循环。
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
for i in range(0,30,3):
if(i % 2 == 0):
print(i)
else:
i += 2
print(i)
# 0
# 5
# 6
# 11
# 12
# 17
# 18
# 23
# 24
# 29
range(a,b,c)为生成数列[a, a+c, a+2c, … , a+nc],其中a+n*c
今天的内容较多,同时其内容也是语言中的精髓所在
俗话说的好
~ 没有条件分支与循环的语言,就仿佛失去灵魂的咸鱼 ~
所以今天的内容要熟记于心才可以哒~