1. 函数
1.1 函数创建和调用
def add(a, b):
return a + b
f1 = add(10, 100)
f2 = add(b = 20, a = 200)
print(f1)
print(f2)
1.2 函数的返回值
函数返回多个值时,结果为元组
def str():
a = 'hello'
b = 'world'
c = 'python'
return a, b, c
print(str())
1.3 函数的参数定义
- 函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参
def f(a = 10, b = 10):
print(a, b)
f(100, 1100)
f(100)
f()
个数可变的位置参数
# 个数可变的位置参数只能有一个
def fun(*args):
print(args)
fun(10)
fun(10, 100, 1000)
个数可变的关键字形参
# 个数可变的关键字形参只能有一个
def fun(**args):
print(args)
fun(a = 10)
fun(a = 10, b = 100, c = 1000)
2. 异常
2.1 try-except
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
print(result)
except ZeroDivisionError:
print('除数不能为0!')
2.2 try-except…else
- 如果try块中没有抛出异常,则执行else块,如果try块中抛出异常,则执行except块
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
print(result)
except ZeroDivisionError:
print('除数不能为0!')
else:
print('计算完毕,没有异常出现!')
2.3 try-except…else…finally
- finally块无论是否发生异常都会执行,能常用来释放try块中申请的资源
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
print(result)
except ZeroDivisionError:
print('除数不能为0!')
else:
print('计算完毕,没有异常出现!')
finally:
print('程序结束...')
2.4 常见异常类型
异常类型 | 说明 |
---|---|
ZeroDivisionError | 除零 |
IndexError | 序列中没有此索引 |
KeyError | 映射中没有这个键 |
NameError | 未声明/初始化对象 |
SyntaxError | Python语法错误 |
ValueError | 传入无效的参数 |