函数
函数编写指南:
1.需要给函数指定描述性名称,且只在其中使用小写字母和下划线
2.每个函数都应该包含简要阐述其功能的注释,还注释应该紧跟在函数定义的后面,并采用文档字符格式串
3.给形参制定默认值,等号的两边不要有空格
4.建议代码行的长度不要超过79个字符,若超过可分写在下一行,按两次tab建与下面的函数体区分
5.若程序或者模块包含多个函数,可使用两个空行将相邻的两个函数分开(以便后续的阅读)
6.所有的import语句都应该放在文件的开头
1. 函数的创建:
.>>>def hello(name) # 参数在创建的时候可有可无
reture "Hello," + name + "!"
2.函数的参数:
1.位置参数:一定要注意顺序不能乱掉
2.关键字参数:关键字参数一般会放在位置参数之后
3,收集参数:用户可以给函数提供任意多的参数,且可以和普通参数搭配使用,但是不能处理关键字参数。
>>>def aa(*haha): #定义一个名叫aa的函数,*的意思为:收集其余位置的参数
print(haha)
>>>aa(1)
(1,) # 可以看出返回的是一个元组
>>>aa(1,2,3)
(1, 2, 3)
==========================================
>>>def aa(tip,*haha): # 和普通参数搭配使用
print(tip)
print(haha)
>>>aa('SB',1111,2222,3333,'eeeee')
SB
(1111, 2222, 3333, 'eeeee')
4.收集参数2:能够处理关键字参数
>>>def aa(**haha):
print(haha)
>>>aa(x=1)
{'x': 1} #返回的是一个字典
>>>aa(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3}
===============================
>>>def aa(x,y,*haha,**hahaha): # 和普通参数搭配使用 # python 先匹配位置参数和关键字实参,再将剩余的实参收集到最后一个形参中
print(x,y)
print(haha)
print(hahaha)
>>>aa(1,2,3,4,5,6,7,8,9,a=11,b=22)
1 2
(3, 4, 5, 6, 7, 8, 9)
{'a': 11, 'b': 22}
3. 函数的递归:引用(调用)本身,达到某个条件以后才会停止,否则无线的循环下去知道死机
举例:阶乘n * (n-1) *(n-2).......1
>>>def a(n):
if n==1:
return 1
else:
return n * a(n-1)
>>>a(10)
3628800