python第二天和第三天

python第二天和第三天,第1张

概述天池龙珠python第二天第二天和第三天(条件语句与循环语句和异常处理)条件语句循环语句while循环:while-else循环:for循环for-else循环关键词range函数enumerate()breakcontinuepass推导式异常处理常见的异常:try-except语句try-except-finally语句try-except-else语句raise语句

天池龙珠python第二天第二天和第三天(条件语句与循环语句和异常处理)条件语句循环语句while循环:while-else循环:for循环for-else循环关键词range@L_404_8@breakcontinuepass推导式异常处理常见的异常:try-except语句try-except-finally语句try-except-else语句raise语句第二天和第三天的总结

第二天和第三天(条件语句与循环语句和异常处理)条件语句

条件语句有:
1.if Expression:
expr_true_suite
只有当Expression为正确时,expr_true_suite才会执行
2. if(Expression):
expr_true_suite
else:
expr_flase_suites
当Expression为正确时,执行expr_true_suite,错误时,执行else后的expr_flase_suites
3.if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构。

【例子】Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意else的悬挂问题。


4.if - elif - else 语句
程序会判断是否符合if或者elif的条件,都不符合
则执行else里的,其中一个符合,执行其中一个,不管怎么样它只会执行其中一个


assert
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

循环语句while循环:

while(布尔表达式):
语句体
当布尔表达式为真的时候,程序会一直执行语句体,直到布尔表达式为假,才会结束.


注意布尔表达式为0便是假,非0为真

while-else循环:

while 布尔表达式:
语句体
else:
语句体
注意当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。

for循环

for循环是一个迭代循环,相当于python的迭代器。

for 循环变量 in 可迭代对象:
语句块
每次循环都会把可迭代对象当前的元素交给循环变量,在语句块使用。


可迭代对象有很多,包括:字典,数组


items可以换成keys或者values来遍历键或者值

for-else循环

for 迭代变量 in 可迭代对象:
代码块
else:
代码块
它使用跟while-else一样,遇到不正常退出循环不执行else,正常退出循环则执行else

关键词range

range([start,] stop [,step=1])
range有三个参数,[]里的参数可有可无,但一定要有stop,从0开始到stop前一个数。
start:开始
stop:停止
step:步长,默认为一

函数enumerate()

enumerate(sequence,[start=0])
sequence:一个序列,可迭代的对象
start:开始的下标

break

break语句可以跳出当前所在层的循环。

continue

continue 跳出当前的循环,继续下一轮循环

pass

pass语句的意思什么事情都不干,pass语句就是空语句
当程序中确定函数名,还不确定具体的实现,可以使用pass,使程序正常执行

推导式

列表推导式:
[ expr for value in collection [if condition] ]


包含if的例子如下,把100以内是三和五倍数的,放在一个列表中:


还有有多个for和if的列子:


元组推导式:
(expr for value in collection [if condition])
[]表示可有可无


字典推导式:
{ key_expr : value_expr for room in collection [ if condition ] }
例子:


集合推导式:
{ expr for value in collection [ if condition ] }
例子:

其他推导式:
next(iterator [ ,default ])
iterator:一个可迭代对象
default:默认值
功能是迭代

例子:

异常处理

异常体系内部有层次关系,python异常体系中的部分关系如下所示:

常见的异常:floatingPointError:浮点计算异常OverflowError:数值运算超出最大限制ZerodivisionError:除数为零AssertionError:断言语句(assert)失败AttributeError:尝试访问未知的对象属性EOFError:没有内建输入,到达EOF标记EnvironmentError: *** 作系统异常的基类IOError:输入/输出 *** 作失败OSError: *** 作系统产生的异常(例如打开一个不存在的文件)
-LookupError:无效数据查询的基类IndexError:索引超出序列的范围KeyError:字典中查找一个不存在的关键字MemoryError:内存溢出(可通过删除对象释放内存)nameError:尝试访问一个不存在的变量NotImplementedError:尚未实现的方法 SyntaxError:语法错误导致的异常IndentationError:缩进错误导致的异常TabError:Tab和空格混用UnicodeDecodeError:Unicode解码时的异常 UnicodeEncodeError:Unicode编码错误导致的异常UnicodeTranslateError:Unicode转换错误导致的异常try-except语句

try:
检测部分
except Exception[ as reason ]:
出现异常要执行的代码

如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中
例子:


一个try可能会有多个except子句,分别处理不同的特定的异常,最多只能一个分支被执行


一旦try出现的异常,在多个except中都可以接收处理,但程序只会按最先那个except来处理,所以在使用多个except时,必须坚持对其规范排序,要从最具针对性的异常到最通用的异常。从最针对到普通的,如下图:

一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。
例子如下:

try-except-finally语句

try:
检测部分
except Exception[ as reason ]:
出现异常后执行的代码
finally:
不管怎么样都会执行的代码
之前在try-except中try出现了except无法接收处理的异常,会抛给try,但在try-except-finally中,会抛给finally,例子如下:

try-except-else语句

如果try子句没有发生任何异常,python会执行else里的语句
try:
检测部分
except:
异常出现后要执行的语句
else:
如果没有任何异常,会执行的语句
例子:


注意:@H_23_403@使用else时,try要配套except来使用,不然会报错@H_78_404@

raise语句

python 使用 raise语句抛出一个指定的异常。
例子

第二天和第三天的总结
看似很简单,但还是要注重多用才行,多用才会记住,不然一旦时间长了,就会忘记,还要回来多看看,嗯,就这些。@H_251_419@
总结

以上是内存溢出为你收集整理的python第二天和第三天全部内容,希望文章能够帮你解决python第二天和第三天所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1188738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)