首页 > 编程语言 >python else的小九九

python else的小九九

时间:2022-09-29 14:00:19浏览次数:43  
标签:语句 raise python 小九九 else try 执行 异常

elsepython语言中活生生的备胎,谁都是想用就用,不用也行

1.if else语句

常规的if...else语句我就不过多赘述了,这里提一下三元表达式,可以 有效减少代码量 ,使代码的整体逻辑更为清晰明了。

  • 举个栗子

常规语句:

if conditions:
	func1()
else:
	func2()

使用三元表达式后:

# 条件满足时执行func1,条件不满足时执行func2
func1() if conditions else func2()

2.for else 语句

for...else 的执行逻辑是:如果for循环正常结束,则执行else中语句,注意如果 for 循环中嵌有 break 等导致for无法执行完毕,则 else 中的内容就不会执行,常用于设置flag上面,如果循环过程中出现满足条件的情况就将flag设置为True,反之则为False,也可以有效减少代码量。

  • 举个栗子
# 遍历
for item in container:
 	# 判断条件是否满足
	if search_something(item):
        	# 条件满足,执行相关语句并跳出循环
		process(item)
		break
else:
	# 遍历完并没有满足条件的情况,执行else语句
	not_found_in_container()

3.try else语句

正确的讲,应该是try... except... else...finally...语句,常常用于捕捉异常

  • 举个栗子
try:
    process()
    print("try语句运行正常")
except Exception as e:
    # 捕捉异常类型
    print("try运行异常,捕捉到的异常为:", e)
else:
    # 在无异常时执行else语句
    print("try语句运行正常")
finally:
    # 最后执行的语句
    print("最后执行的语句")

这里顺带再提一下常用于异常处理的raise模块和assert语句。

3.1 raise

当程序出现错误会自动引发异常,当然也可以通过raise显式引发异常。raise语句执行后,raise后的语句将不会执行。

  • raise 语句有如下三种常用的用法: 1.raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常。 2.raise 异常类:raise 后带一个异常类。该语句引发指定异常类的默认实例。 3.raise 异常对象:引发指定的异常对象。
  • 举个栗子
try:
    1/0
except Exception:
    raise NameError("变量未定义") from Exception

3.2 assert

在一个程序还未完善之前,与其让它在运行时才崩溃,不如在我们觉得可能出现异常的地方添加assert语句,使得其在满足错误条件时就提前崩溃,提高我们的码力。

  • 举个栗子
def func():
	process()
	# 如果conditions条件确实满足,则返回1,反之则输出异常
	assert conditions
	return 1

标签:语句,raise,python,小九九,else,try,执行,异常
From: https://blog.51cto.com/coderusher/5722548

相关文章

  • How to Set Up a Virtual Environment in Python – And Why It's Useful
    https://www.freecodecamp.org/news/how-to-setup-virtual-environments-in-python/HowtoSetUpaVirtualEnvironmentinPython–AndWhyIt'sUsefulStephenSan......
  • Python基础(七) | 文件、异常以及模块详解
    ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深......
  • Python面向对象---类的基本使用
    1、面向对象类(class):是一种用来描述具有相同属性和方法的对象的集合。类变量:类变量在整个实例化的对象中是公用的。一般定义在类中且在函数体之外。方法:类中的函数数据成员:类......
  • [oeasy]教您玩转python - 0002 - 你好世界(hello world!)
    你好世界......
  • 第四章python实训
    shift+win+s局部截图4-1:输出每日一帖4datetime.datetime.now()  获取当前日期datetime.datetime.now().weekday()  获取当前日期的星期  运行结果:  ......
  • Python_4 实例
    一、实验目的和要求理解序列的应用二、实验过程 通过pycharm进行代码编辑三、实验过程敲代码四、代码及其结果###实例1importdatetime#导入日期......
  • python冒泡排序例子
    #冒泡排序nums=[1,3,9,4,2,6,8,7,0]length=len(nums)foriinrange(length):forjinrange(length-1-i):ifnums[j]>nums[j+1]:nums[......
  • 力扣202(java&python)-快乐数(简单)
    题目:编写一个算法来判断一个数n是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为1,......
  • python sympy模块计算 Clebsch-Gorden 系数
    角动量代数还是挺常用的,今天本想自己写一个python的CG系数函数,又觉得可能已经有现成的包了。google搜了一下,第一条就是sympy官网的相关文档,快准爽。学习了一下官网......
  • python 使用HOG进行目标检测 + 非极大值抑制代码讲解(HOG(Histogram of Oriented Gradi
    最近在看《深度学习全书公式+推导+代码+TensorFlow》——清华大学出版社这本书,看到第8章——目标检测,其中有使用HOG进行目标检测的代码,觉得写的通俗易懂,就分享给大家......