下面是详解Python的函数与异常的完整攻略:
一、函数
1.1 函数的定义
Python的函数定义非常简单,使用def
关键字即可。下面是一个示例:
def add(a, b):
return a + b
这里定义了一个名为add
的函数,它有两个参数a
和b
,返回它们的和。
1.2 参数传递
Python中的函数参数传递有两种方式:位置传参和关键字传参。
位置传参是指按照参数定义的顺序传递参数。下面是一个示例:
result = add(1, 2)
这里将1和2作为add
函数的第一个和第二个参数传递进去,函数会返回它们的和,结果为3。
关键字传参是指使用参数名来指定传入的参数。下面是一个示例:
result = add(b=2, a=1)
这里使用参数名a
和b
指定传入的参数,函数会返回它们的和,结果仍然为3。
1.3 默认参数
Python中函数定义时可以指定默认参数,这些参数在调用函数时可以不用传入,使用默认值即可。下面是一个示例:
def add(a, b=1):
return a + b
这里定义了一个名为add
的函数,它有两个参数a
和b
,但是b
指定了默认值为1。如果在调用add
函数时不传递b
参数,则会使用默认值1。下面是一个示例:
result1 = add(1) # 结果为2
result2 = add(1, 2) # 结果为3
1.4 可变参数
Python中的可变参数指的是可以接受任意数量的参数。可变参数使用*
来表示。下面是一个示例:
def add(*nums):
result = 0
for num in nums:
result += num
return result
这里定义了一个可变参数的add
函数,它可以接受任意数量的参数。在函数内部使用了一个for
循环来遍历参数,并将它们相加,最终返回结果。下面是一个示例:
result1 = add(1, 2, 3) # 结果为6
result2 = add(1, 2, 3, 4) # 结果为10
1.5 匿名函数
Python中的匿名函数又称为Lambda函数。Lambda函数定义时使用lambda
关键字,它可以接受任意数量的参数,但只能有一个表达式作为函数体。下面是一个示例:
add = lambda a, b: a + b
result = add(1, 2) # 结果为3
这里定义了一个匿名函数,实现了和之前的add
函数相同的加法功能。
二、异常
2.1 异常的定义
Python中的异常指的是程序运行时遇到的错误,例如除零错误、数组越界等。当程序出现异常时,会抛出一个异常对象并停止运行。下面是一个示例:
a = 1 / 0 # 除零错误,会抛出一个ZeroDivisionError异常
2.2 异常处理
Python中使用try...except...
语句来处理异常。try
语句块中的代码有可能会抛出异常,如果出现了异常,就会跳转到except
语句块中执行,处理异常并继续执行后面的代码。下面是一个示例:
try:
a = 1 / 0
except ZeroDivisionError:
print("除零错误")
这里在try
语句块中执行了除零操作,出现了ZeroDivisionError
异常,程序跳转到except
语句块中执行,打印出了错误信息。
2.3 多重异常处理
Python中可以使用多个except
语句来处理不同类型的异常。下面是一个示例:
try:
a = [1, 2, 3]
print(a[3])
b = 1 / 0
except ZeroDivisionError:
print("除零错误")
except IndexError:
print("索引错误")
这里在try
语句块中访问了一个不存在的元素和执行了除零操作,分别会抛出IndexError
和ZeroDivisionError
异常,程序会跳转到对应的except
语句块中执行相应的处理代码。
以上是详解Python的函数与异常的完整攻略,希望对你有帮助。