函数和代码复用
1、函数的概念
函数是一段具有特定功能的,可重用的语句组,用函数名来表示并通过函数名进行完成功能调用。
函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执行,不需要再每个执行地方重复编写这些语句。每次使用函数可以提供不同的参数作为输入,以实现对不同数据的处理;函数执行后,还可以以反馈相应的处理结果。
函数是一种功能抽象。
2、python中函数的定义
python 中定义一个函数使用 def
关键字,语法如下:
def <函数名>(<参数列表>): <函数体> return <返回值列表>
例如唱生日歌
# 最简单的方式
print('Happy birthday to you!')
print('Happy birthday to you!')
print('Happy birthday, dear Mike!')
print('Happy birthday to you!')
Happy birthday to you! Happy birthday to you! Happy birthday, dear Mike! Happy birthday to you!
# 以函数的方式
def happy():
print('Happy birthday to you!')
def happy_birthday(name):
happy()
happy()
print('Happy birthday, dear {}!'.format(name))
happy()
# 调用函数
happy_birthday('MIke')
Happy birthday to you! Happy birthday to you! Happy birthday, dear MIke! Happy birthday to you!
3、函数的调用过程
程序调用一个函数需要执行以下四个步骤:
1. 调用程序在调用处暂停执行 2. 在调用时将实参赋值给函数的形参 3. 执行函数体语句 4. 函数调用结束给出返回值,程序回到调用前的暂停处继续执行
4、函数的参数
定义函数时 () 里的参数叫形参(形式参数),它只是一个变量名,供函数体中的代码调用。
函数调用时,传入 () 里的参数叫实参(实际参数),它是实际的数据,会传递给形参,供函数体执行。
4.1 形参
定义函数时,形参根据功能不同,可以定义几种类型
4.1.1 必须参数
在定义函数时,如果要求调用者必须传递实参给这个形参,它就是必须参数。
直接定义在函数名后的 () 中的形参就是必须参数。
例如上面的 happy_birthday 函数中的 name。
def add(x,y):
print(x+y)
add(1) #只传入一个值会报错