函数
1.函数基础
2.函数参数
3.函数返回值
4.函数嵌套调用
函数基础
①语法
def 函数名(参数): #参数是0-n个
代码块
②示例
#函数
def printinfor(name,height,weight,hobby,pro):
print('%s的身高是%.1f'%(name,height))
print('%s的体重是%.1f'%(name,weight))
print('%s的爱好是%s'%(name,hobby))
print('%s的专业是%s'%(name,pro))
pass
#调用参数信息
printinfor('小马',180,140,'写代码','计算机科学')
函数参数
参数的分类:
必须参数、默认参数(缺省参数)、可选参数、关键字参数
①必选参数
#必选参数 在调用的时候必须给实参
def sum(a,b): #a,b是形式参数,只是意思上的一种参数,在定义的时候不占内存地址
sum=a+b
print(sum)
pass
#函数调用
sum(20,15) #20 15是实际参数,是实际占用内存地址
②默认参数
#默认参数 如果对一个参数进行了默认值赋值,
#那么这个参数后的其余参数就不能再是必选参数,
#必须也添加默认值
def sum1(a=20,b=30):
print('默认参数使用=%d'%(a+b))
pass
#默认参数调用
sum1(10) #在调用的时候如果未赋值,
#就会用定义函数时给定的默认值
③可变参数
#可变参数(当参数的个数不确定时使用)
def getComputer(*args):
'''
计算累加和
可选参数接受的是一个元组类型数据,0-n个数据项
:param args: 可变长的参数类型
:return:
'''
print(args)
pass
#调用参数
getComputer(1)
④关键词(可选)参数
#关键字可变参数
# ** 来定义
#在函数体内 参数关键字时一个字典类型 key是一个字符串
def keyFunc(**kwargs):
print(kwargs)
pass
#调用
# keyFunc(1,2,3) 不可以传递
dictA={'name':'Eddie','age':24}
# keyFunc(dictA) 不可以传递
#keyFunc(**dictA) #可以传递
#keyFunc(name='peter',age=25,) #可以传递
keyFunc() #空字符串可以传递
#组合使用
def complexFunc(*args,**kwargs): #可选参数必须放到关键字可选参数之前
'''
0-n个数据项
可选参数接受的时一个元组类型
关键字可选参数,接受的是一个字典类型
:param args:可选参数
:param kwargs:关键字可选参数
:return:
'''
print(args)
print(kwargs)
pass
complexFunc(1,2,3,name='刘德华') #可以实现
#complexFunc(name='刘德华',1,2,3) #不可以实现,不能调到顺序
complexFunc(age=33) #可以实现
函数返回值
所谓返回值,就是程序中函数完成一件事情后,最后给调用者的结果
①概念:函数执行完后会返回一个对象,如果在函数的内部又return就可以返回实际的值,否则返回None
②类型:可以返回认以类型,返回值类型应该取决于return后面的类型
③在一个函数体内可以出现多个return值,但是肯定只能返回一个return
④如果一个函数体内 执行了return,意味着函数就执行完成退出,return后面的的代码语句将不会执行
如果函数需要返回多个结果?
将要返回的值用逗号隔开,最终会返回一个包含所有返回值的元组
示例
def calComputer(num):
result=0
i=1
while i<=num:
result+=1
i+=1
pass
return result
pass
#调用函数
value=calComputer(10)
print(type(value)) #value 类型
print(value
结果
<class 'int'>
10