函数的定义
函数名的定义:1.推荐使用英文,可以使用拼音,不可以使用汉字;2.可以使用数字,但是不能以数字开头;3.不可以使用特殊字符,除了下划线_;4.函数名严格区分大小写;5.函数命名要有意义;6.函数名不能和系统保留关键字冲突;7.函数名尽量不要和系统已存在的内建函数同名,以免覆盖内建函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def mystar(): j = 0 while j < 3: i = 0 while i < 10: print('*', end='') i += 1 print() j += 1
mystar()
|
函数的参数
1 2 3 4 5 6 7 8 9 10 11 12
| #带有参数的函数 def printnum(maxnum): var = 0 while var <= maxnum: print(var) var += 1 #输出0-10的数字 #printnum(10)
#形参:在定义函数的括号中声明的变量名就是形参,形式上的参数 #实参:在调用函数的括号中传入的就是实参,实际上的参数 #注意:实参将值传递给形参的过程,本质上就是变量赋值操作
|
1 2 3 4 5 6 7 8 9 10 11
| def buyPC(cpu = 'I5',memory = '4G',videocard = '970'): print('CPU是'+ cpu) print('内存是'+ memory) print('显卡是' + videocard)
#调用函数 传入实参 -> 使用的是实参值 #buyPC('I7-7700K','16G','1080ti') #调用函数 不传入实参 -> 使用的是形参的默认值 #buyPC() #调用函数 传入一个实参 #buyPC('I5','16G')
|
1 2 3 4 5 6 7 8 9
| def creatPerson(mz,xl,yf,wq,xz): print('头上戴着'+ mz ) print('脖子上挂着' + xl) print('身上穿着' + yf) print('手上拿着' + wq) print('脚上穿着' + xz) #调用函数(使用关键字参数) creatPerson(xl = '钻石项链', wq = '金丝大环刀', yf = '锁子甲',xz = '草鞋',mz = '三级头')
|
在普通形参之前添加一个"*",就可以使得当前形参可以接受多个传入的实参.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| def getsum(*allnum): #声明一个累加和的变量 total = 0 #计算所有数值的和 for i in allnum: total = total + i #打印求和结果 print(total) #调用函数 getsum(2,4,7,5,5,8,3,10)
def getarg(a,b,c,*d): print(a,b,c) print(d) #调用函数 getarg(1,2,3,4,5,6,7,8,9,10)
注意: #1.收集参数仅仅接受没有形参接受的普通实参 #2.收集参数只可以接受普通实参,不可以接受关键字参数(关键字实参)
|
在普通的形参之前添加两个"**",既可以是的当前形参可以接受多个传入的关键字实参.
1 2 3 4 5 6 7 8 9 10 11 12
| def showinfo(xh,**person): #打印person接受的结果 print(person) print('参与大会的人员有' , person.keys()) print('他们的体重分别是',person.values())
#调用函数 showinfo(ml = 90,xm = 120 ,xh = 98 ,xg = 145)#关键字参数
注意: #1.关键字收集参数仅仅接收没有形参接收的关键字参数 #2.关键字收集参数只可以接收关键字实参,不可以接收不同实参
|
1 2 3 4 5 6 7 8 9 10 11 12
| def testargs(name,sex,age,*size,**goodfriends): #使用普通参数 print(name,sex,age) #使用收集参数 print(size) #使用关键字收集参数 print(goodfriends) #调用函数 testargs('小明','男',18,178,125,35,gf1 = '小刚',gf2 = '小欧',gf3 = '小红')
1.实参:普通实参在前,关键字参数在后 2.形参:关键字收集参数一定在最后出现,收集参数推荐在普通参数之后使用,推荐顺序:普通形参,收集参数,关键字收集参数。
|
return
1 2 3 4 5 6 7 8
| #定义一个计算两个数值的和的函数 def getsum(no1,no2): result = no1 + no2 #print(result) #返回值语句 return result
str = getsum()
|
1 2 3 4 5 6 7 8 9
| #查看return语句的另外一个作用 def test(): print('************') #添加return语句 return print('############')
#调用函数 test()
|
函数文档
查看函数的文档:
1.使用help函数(推荐使用)
help(id)
help(print)
help(type)
2.函数名.doc
print(id.doc)
print(print.doc)
1 2 3 4 5 6 7 8 9 10 11 12 13
| #自定函数 def getsum(no1,no2): ''' :功能: 计算两个数值的和 :参数1 no1: Number类型 :参数2 no2: Number类型 :返回值 : 两个数值的和 Number ''' result = no1 + no2 return result
#查看自定义函数的文档 help(getsum)
|