函数(1)

目录

什么是函数?

函数基础

函数参数

函数返回值

函数嵌套调用


什么是函数?

函数:一系列Python语句的组合,可以在程序中运行一次或者多次,一般是完成具体的独立的功能

为什么要使用函数:
代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化 。

函数基础 

函数的定义:

def 函数():

     代码块 

函数调用:直接写函数名即可

举例:

def printInfo2(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
#调用带参数的信息
printInfo2('小李',189,200,'打游戏','咨询师')
printInfo2('peter',175,160,'敲代码','计算机')

函数参数

参数分类:

必选参数、默认参数、可变参数、关键字可选参数

1.必选参数--必须赋值

def sum(a,b): #a和b叫做形参--只是意义上的一种参数,在定义的时候是不占内存地址的
    sum=a+b
    print(sum)
    pass
sum(20,15) #20和15是实参:实际占用内存地址的

2.默认参数

def sum1(a=20,b=30): #a可以省默认参数值,b不可以 (a,b=30)
    print('默认参数的使用=%d'%(a+b))
    pass
#默认参数的调用
sum1(10) #调用时如果为赋值,就会用默认参数的给定值
sum1(2,56)

3.可变参数--当参数的个数不确定时使用,接收元组类型

def getComputer(*args):
    '''
    计算累加和
    :param args: 可变长的参数类型
    :return:
    '''
    #print(args)
    result = 0
    for item in args:
        result += item
        pass
    print(result)
    pass
getComputer(1,2)
getComputer(1,2,3)

 4.关键字可变参数--**来定义,在函数体内,参数关键字是一个字典类型key是一个字符串

def keyFunc(**kwargs):
    print(kwargs)
    pass

#调用
dictA={'name':'leo','age':35}
keyFunc(**dictA)
keyFunc(name='peter',age=26)
keyFunc()

5.组合使用举例

def complexFunc(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
complexFunc(1,2,3,4,name='pater') #前面元组传第一个参数,后面字典传第二个参数
complexFunc(age=36) #自动识别传给第二个参数

def TestMup(**kwargs,*args): #这种不符合规定,可选参数必须放在可变关键字之前
    pass

函数返回值 

 概念:函数执行完以后会返回一个对象,如果在函数内部有return就可以返回实际值,否则返回None 

类型:可以返回任意类型,返回值类型应该取决于return后面的类型

用途:给调用方返回数据

在一个函数体内可以出现多个return值,但肯定只能返回一个return #如果在一个函数体内执行了return, 意味着函数就执行完成退出了,如return后面的代码语句将不再执行。

 举例:

1.

def Sum(a,b):
    sum=a+b
    return sum #将计算结果返回
    pass
rs=Sum(10,20)
print(rs) #函数返回值返回到调用的地方

2.

#计算累加和
def calComputer(num):
    li=[]
    result = 0
    i=1
    while i<=num:
        result+=i
        i+=1
        pass
    li.append(result)
    return li

value=calComputer(10)
print(value)

函数嵌套调用 

举例:

def fun1():
    print('--------fun1 start------')
    print('--------执行代码------')
    print('--------fun1 end-----')
    pass
def fun2():
    print('--------fun2 start------')
    #调用第一个函数
    fun1()
    print('--------fun2 end-----')
    pass
fun2()

函数举例:

1.写函数,接收n个数字,求这些参数数字的和

def Sum(*args):
    result = 0
    for item in args:
        result+=item
        pass
    return result
rs=Sum(1,2,3,4,5)
print('rs={}'.format(rs))

2.写函数,找出传入的列表或元组的奇数位对应的元素,并返回一个新的列表

def process_Func(con):
    '''
    处理列表信息
    :param con:接收一个列表或者元组
    :return:新的列表对象
    '''
    listNew=[]
    index=1
    for item in con:
        if index%2==1:
            listNew.append(item)
        index+=1
        pass
    return listNew

rs=process_Func([1,2,3,4])
print(rs)
rs1=process_Func(tuple(range(10,30)))
print(rs1)

3.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。PS:字典中的value只能是字符串或列表

def dictFunc(**kwargs): #也可以直接写字典变量
    '''
    处理字典类型数据
    :param kwargs: 字典
    :return:
    '''
    dictA={}
    for key,value in kwargs.items():
        if len(value)>2:
            value[0:2]
            dictA[key]=value[0:2] #向字典添加数据
            pass
        else:
            dictA[key]=value
            pass
        pass
    return dictA
    pass
dictB={'name':'小明','hobby':['唱歌','跳舞','编程'],'pro':'计算机'}
rs=dictFunc(**dictB)
print(rs)
 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值