1.函数:就是对实现某一特定功能代码块的封装
2.作用:封装(将功能绑定在一个函数中,使用该功能时直接调用该函数)
3.声明函数:
def 函数名(参数列表):
"""函数说明"""
函数体
def:是python中声明函数的关键字
函数名:标识符 PEP8格式 见名知义
函数说明:对函数的功能和参数以及返回值进行说明
():是固定格式
参数列表:(形参列表)参数名1,参数名2,参数名3...
参数的功能是用来接收从外部传到函数内部的数据
函数体:实现函数功能的代码块,可能会包含一个return语句
4.步骤
a.确定函数的功能
b.确定函数名
c.确定参数
确定需不需要参数
确定需要几个参数
(看实现函数的功能需不需要从外面传数据到函数里面)
d.实现函数的功能
5.函数调用
函数名(实参列表)
函数名:调用的函数一定是已经声明过的,想要使用什么功能就调用对应的函数
实参列表:实参是用来给形参赋值的
函数的调用过程:
1.使用实参给形参赋值
2.执行函数体
3.函数体执行完成后,回到函数调用的位置
注意:
1.函数只有在调用的时候才会执行
2.函数调用的时候一定要保证每个形参都有值
3.函数的调用一定要在函数声明的后面
4.一个函数可以多次调用
def sum(num1,num2):
'''
求两个数的和
:param num1:提供第一个数 int
:param num2:提供第二个数 int
:return:返回一个值
'''
print(num1+num2)
x1=int(input('参数1:'))
x2=int(input('参数2:'))
sum(x1,x2)
# 练习:声明一个函数,功能是打印10*(**********)
# 调用这个函数
def start(num,type):
"""
:param num: 个数
:param type: 符号
:return:
"""
print(type*num)
start(10,'*')
结果:
参数1:29
参数2:45
74
**********
参数的作用:从函数的外面给函数传值
6.位置参数
传参的时候,实参按顺序给形参赋值
def func(a,b,c):
print(a,b,c)
func(1,2,3)
结果:
1 2 3
7.关键字参数
调用函数的时候:
函数名(参数=值)
func(a=30,c=50,b=90)
print('==========')
func(30,70,c=40)
结果:
30 90 50
==========
30 70 40
8.默认参数
python中函数声明的时候参数可以设置默认值,有默认值的参数必须放到参数列表的最后
def func2(a,b=90,c=0):
print(a,b,c)
func2(10)
func2(45,67,78)
结果:
10 90 0
45 67 78
9.参数个数不定
函数参数的个数不确定的时候,就在声明函数的时候,在形参的前面加一个*,
将形参编程元组,调用函数的时候,这个参数会将对应的实参作为元组的元素保存起来
注意:参数的个数不定,可以是形参中的一部分是不定的
个数不确定的参数要放到参数列表的最后
参数可以不定,也可以不传参,对应的参数的值就是一个空的元组
# 写一个函数,求多个数的和
def sum(*num):
'''
:param num: 多个参数
:return:
'''
sum=0
for x in num:
sum+=x
print(sum)
sum(1,2,3,4,5,6,7,8,9)
结果:
45