函数的使用
# print('校长的身高是%f'%1.73)
# print('校长的体重是%f'%160)
# print('校长的爱好是%s'%'打篮球')
# print('校长的专业是%s'%'养猪')
#多次去打印校长的信息
print('------------------多次输出相同的信息---------------')
#针对上面的场景 就需要进一步的去优化代码【方案:封装函数】
def printInfo():
'''
这个函数是用来输出校长的个人信息的 #函数的备注
:return:
'''
# 函数代码块
print('校长的身高是%f' % 1.73)
print('校长的体重是%f' % 160)
print('校长的爱好是%s' % '打篮球')
print('校长的专业是%s' % '养猪')
pass
#函数的调用
printInfo() #函数的调用
#进一步去完善这样的需求【输出不同人的信息】 方案:通过传入参数实现
def printInfo(name,height,weight,hobby,pro):
# 函数代码块
print('%s的身高是%f' %(name,height))
print('%s的体重是%f' %(name,weight))
print('%s的爱好是%s' %(name,hobby))
print('%s的专业是%s' %(name,pro))
pass
#调用带参数的信息
printInfo('小李',189,120,'打游戏','养猪')
# 函数的参数分类:
# 必选参数、默认参数【确省参数】、可选参数、关键字参数
# 参数:其实就是函数为了实现某项特定的功能,进而为了得到实现功能所需要的数据。为了得到外部数据。
#1.必选参数
def sum(a,b): #把a和b称之为形式参数:只是意义上的一种参数,在定义的时候是不占内存地址的
sum=a+b
print(sum)
pass
#函数的调用 必选参数一定要赋值的
sum(10,15) #20和15就是实际参数,实实在在的参数,占用内存地址
#2.默认参数【缺省参数】
def sum1(a=20,b=30):
print('默认参数的使用=%d'%(a+b))
pass
#默认参数调用
sum1()
sum1(10) #在调用的时候如果为赋值,就会用定义函数时给定的默认值
sum1(10,20)
#3.可变参数 当参数的个数不确定时使用
def getComputer(*args):
'''
计算累加和
:param args:可变长的参数类型
:return:
'''
#print(args)
result=0
for i in args:
result+=i
pass
print('result=%d'%result)
pass
getComputer(1,2,3,4)
#4.关键字可变参数
#**来定义
#在函数体内 参数关键字是一个字典类型 key是一个字符串
def keyFunc(**kwargs):
print(kwargs)
pass
#调用
# keyFunc(1,2,3) 不可以传递
dictA={"NAME":'LEL',"AGE":35}
keyFunc(**dictA)
keyFunc(name='peter',age=26) #键值对的传递参数
keyFunc() #参数的个数为0-n
def coplexFuct(*args,**kwargs): #可选参数必须放在可选关键字参数之前
print(args)
print(*kwargs)
pass
coplexFuct()
练习题
#1.写函数,接收n个数字,求这些参数数字的和
# 答:
def sumNumebr(*args):
result=0
for i in args:
result+=i
pass
print('result=%d'%result)
pass
sumNumebr(1,2,3)
#2.写函数,找出传入的列表或元组的奇数位对应的元素,并返回一个新的列表
#答:
def fun1(a):
li=[]
index=1
for i in a:
if index%2==1: #判断奇数位
li.append(i)
pass
index+=1
pass
return li
pass
rs=fun1([3,3,4,5,5])
print('qishu=%s'%rs)
rs2=fun1(tuple((1,23,4,5,5,6))) #把元组转换成列表
print(rs2)
#3 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者,ps字典中的值只能是字符串或者列表
#答:
def dictFunc(dicParms):
'''
处理字典类型的数据
:param dicParms:字典
:return:
'''
result={} #空字典
for key,value in dicParms.items(): #key-values
if len(value)>2:
result[key]=value[:2] #向字典添加数据
pass
else:
result[key]=value
pass
pass
return result
pass
#函数调用
dict={'NAME':'霞猪','hobby':['唱歌','dance','pingpong','python'],'pro':'编程'}
print(dictFunc(dict))
网友评论