Day 4 python 函数基础上

函数

函数基础

函数——独立功能的代码块,完成具体独立的功能

函数分类:

  1. 有参无返回
  2. 有参有返回
  3. 无参有返回
  4. 无参无返回

使用函数的优点:

  1. 代码复用最大化
  2. 最小化冗余代码
  3. 整体代码结构清晰
  4. 问题局部化

函数定义

def 函数名(参数):

​ 代码

#函数定义
def printInfo():
    '''
    用来打印个人信息
    :return:
    '''
    print('身高%f' % 1.80)
    print('体重%f' % 120)
    print('爱好%s' % '唱歌')
    print('专业%s' % '软件工程')
    pass

函数调用

执行函数定义的代码块

【注】:调用前须先定义

#函数调用
printInfo()
printInfo()
printInfo()

函数参数

参数:函数为了实现某项特定功能,进而为了得到实现功能所需要的数据

分类:

  1. 必选参数
  2. 可选参数[可变长参数]——*args 元组类型
  3. 默认参数[缺省参数]
  4. 关键字参数—— * *kwargs 字典类型
#必选参数
def sum(a,b):      #形式参数:只是意义上的一种参数,定义时不占内存地址
    sum=a+b
    print(sum)
sum(20,15)         #函数调用    20   15  实际参数,占用内存地址
sum()              #不能这样写


#默认参数【缺省参数】    始终存在参数列表的尾部
def sum1(a=20,b=30):
    print('默认参数的使用%d'%(a+b))
    pass
sum1(10)             #未赋值,则用缺省值


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


#关键字参数      字典类型 key是一个字符串
def keyFunc(**kwargs):
    print(kwargs)
    pass
#调用
dictA={'name':'deer','age':'22'}
keyFunc(**dictA)
keyFunc(name='deer')


#混合
def complexFunc(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
complexFunc(1,2,3,4)
complexFunc(1,2,3,4,name='deer')
complexFunc(name='deer')


def TestMup(**kwargs,*args):#不符合要求
    '''
    可选参数必须放在关键字参数之前
    :param kwargs:
    :param args:
    :return:
    '''
    pass

函数返回值

返回值——函数执行完返回的对象,有return则可以返回实际值,否则返回None

类型:可返回任意类型,取决于return后的类型

用途:给调用方返回数据

【注】:

  1. 在一个函数内可出现多个return值,但只能返回一个return
  2. 在一个函数体内,执行了return,则函数执行完成并退出
#返回值
def Sum(a,b):
    sum=a+b
    return sum              #返回计算结果
print(Sum(10,30))           #函数返回到调用的地方


#返回list
def calComputer(num):
    li=[]
    result=0
    i=1
    while i<=num:
        result+=i
        i+=1
        pass
    li.append(result)
    return li
print(calComputer(10))
print(type(calComputer(10)))


#返回元组
def returnTuple():
    '''
    返回元组类型的数据
    :return:
    '''
    return 1,2,3
print(type(returnTuple()))


#返回字典
def returnDict():
    '''
    返回字典类型的数据
    :return:
    '''
    return {'name':'deer'}
print(type(returnDict()))

函数嵌套

嵌套

#嵌套
def fun1():
    print("----------fun1 star--------")
    print("----------fun1 end--------")
    pass
def fun2():
    print("----------fun2 star--------")
    fun1()
    print("----------fun2 end--------")
    pass
fun2()

----------fun2 star--------
----------fun1 star--------
----------fun1 end--------
----------fun2 end--------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值