函数:function
函数的作用:
1.提高代码的重用率
2.提高开发效率
3.便于代码维护和管理
函数的命名规范:
1.推荐使用英文禁止使用中文
2.可以使用数字,但是不能以数字开头
3.不可以使用特殊字符,除了下划线
4.变量严格区分大小写
5.变量命名要有意义
6.不能和系统已知的关键字冲突!
7.不能和系统已存在的函数重名
函数的基本格式:
def 函数名():
python代码
python代码
python代码
...
一大波代码来袭!
定义一个打印十行十列星星的函数:
def star():
j = 0
while j < 10:
# 输出1行
i = 0
while i < 10:
print('★', end='')
i += 1
# 换行
print('\n', end='')
# j自增
j += 1
调用函数
star()
函数的参数
形参:定义函数位置的参数称之为形参——形式上的参数
实参:调用函数位置的参数称之为实参-——实际的值
制作一个灵活的函数,可以自己定义行数和列数
#定义一个函数
def mystar(hang,lie): #定义函数位置的参数称之为形参——>形式上的参数
j = 0
while j < hang:
i = 0
while i < lie:
print('★',end = '')
i += 1
print('\n',end = '')
j += 1
调用函数:
mystar(10,10) #调用函数位置的参数称之为实参——>实际的值
形参可以添加默认值,调用函数时,如果没有实参,则使用默认值,如果制定了实参,则使用实参的值!
#定义一个函数
def mystar(hang = 5,lie = 5): #定义函数位置的参数称之为形参——>形式上的参数
j = 0
while j < hang:
i = 0
while i < lie:
print('★',end = '')
i += 1
print('\n',end = '')
j += 1
调用函数:
mystar()
关键字参数:
在传入实参的时候制定接收的形参,这种方式就是关键字参数!
def myzb(zj,wq,kj,ht,xz,jz):
print('骑着',zj)
print('手里拿着',wq)
print('身上穿着',kj)
print('腿上穿着',ht)
print('脚上穿着',xz)
print('手上戴着',jz)
调用函数:
myzb(zj = '人马',wq = '饮血剑',kj = '日炎铠甲',ht = '无极斗篷',xz = '轻灵之靴',jz = '回蓝戒指')
计算五个数字的和得函数:
def he(a,b,c,d,e):
print(a + b + c + d + e)
调用函数:
he(a = 1,c = 2,b = 3,d = 4,e = 5)
收集参数(* 参数名字):
计算任意个数字的和的函数(收集参数)
#*number内部是一个元组
def total(*number):
#声明一个统计和的变量
he = 0
# 遍历number的所有数据(内部是一个元组)
for i in number:
#把遍历出来的数相加
he = he + i
#循环结束后输出结果
print(he)
调用函数:
total(1,3,4,5,7)
收集参数到底接收什么样的实参?
只有没有被接收的实参,才会被收集参数收集。
关键字收集参数(**参数名字)(内部是一个字典)
关键字收集参数也仅仅接收那些没有被形参接受过的参数
任意人的年龄之和的函数:
def age(**args):#内部是一个字典
total = 0
for i in args.values():#遍历循环字典中的值
total += i#年龄自增
print(total)
调用函数:
age(wrd = 33,gxy = 34, jxd = 21, shh = 25, slc = 18)
测试普通形参、收集参数、关键字收集参数的共存问题:
1.普通形参,收集参数,关键字收集参数 ———— 形参
2.普通实参,关键字参数 ———— 实参
3.普通实参——————可以被普通形参和收集参数接收
4.关键字参数——————可以被普通形参和关键字收集参数接收
定义一个函数:
def test(a,b,c,*no,**args):
print(a,b,c)
print(no)
print(args)
调用函数:
test(1,2,3,4,5,6,7,d = 8,e = 9, f = 10)
结论:
1.三种形参可以在一个函数中共存!
2.两种实参也可以在同一个函数的调用中共存
3.实参中,普通实参必须在关键字实参之前
4.实参中,不可以为同一个形参传送2个及以上的值,一个形参只能接收一个实参
5.形参中,收集参数可以在普通形参之前,也可以在普通形参之后
6.形参中,收集参数必须在关键字收集参数之前