python学习_day9

2021-06-30  本文已影响0人  宗肃書

函数的使用

# 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))
上一篇 下一篇

猜你喜欢

热点阅读