Python精简入门学习(六)

作者: 码市冲冲冲 | 来源:发表于2021-04-07 22:10 被阅读0次

Python精简入门学习之函数

-函数的定义:

一系列python语句的组合 可以在程序中运行一次或者多次 一般是完成具体的独立的功能。
为什么要使用函数:
    代码的复用最大化以及最小化冗余代码 整体代码结构清晰 问题局部化。
语法结构:
    def 函数名():
        函数体[一些列的python语句 表示独立的功能]
函数的调用:
    本质上就是去执行函数定义里面的代码块 在调用函数之前 必须先定义。

-函数入门

在我们一开始的学习中要打印很多相同的数据的话,就会比较麻烦,所以我们有了函数方法。
print('张三')
print('身高')
print('体重')
这时我们要打印相同的内容,是直接直接复制吗?
print('张三')
print('身高')
print('体重')
print('张三')
print('身高')
print('体重')
此时代码完成了我们的需求,如果只是一两次还行,但是如果我们需要使用很多次的时候呢?这时我们就会使用函数方法。

-针对上述代码场景 就需要进一步的去优化代码[方案:封装函数]

def printInfo():
    print('小明')
    print('身高')
    print('体重')
    pass
# 函数的调用
printInfo() # 调用
printInfo() # 重复调用
# 进一步的去完善这样的需求[输出不同人的信息] 方案:通过传入参数来解决
# 函数的定义
# def 函数名(参数列表): 0-n 个
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('Tony',163,120,'唱歌','计算机应用')

-函数的参数

 参数的分类:
     必选参数、默认参数[缺省参数]、可选参数、关键字参数。
     参数:其实就是函数为了实现某项特定的功能 进而为了得到实现功能所需要的数据。
     为了得到外部数据的。

-必选参数

def sum(a,b):   # 形式参数:只是意义上的一种参数 在定义的时候不占用内存地址 占坑用
    sum = a + b
    print(sum)
    pass
# 调用函数 在调用的时候必选参数 是必须要赋值的
sum(10,11)  # 实际参数:实参 实实在在的参数 是实际占用内存地址的 填坑用

-默认参数

def sum1(a,b=40,c=90):
    print('默认参数使用=%d'%(a+b))
    pass
# 参数的调用
sum1(10) # 在调用的时候如果未赋值 就会用定义函数时给定的默认值
sum1(2,56)

-可变参数 (当参数的个数不去欸的那个的时候使用 比较灵活)

def gitee(*args): # 可变长的参数
    '''
    计算累加和
    :param args:
    :return:
    '''
    # print(args)
    result = 0
    for item in args:
        result += item
        pass
    print('result=%d'%result)
    pass

gitee(1)
gitee(1,2)
gitee(1,2,3)
gitee(1,2,3,4)
gitee(1,2,3,4,5)

-关键字参数

用 ** 来定义
在函数体内 参数关键字是一个字典类型 key是一个字符串。
def keyFunc(**kwargs):
    print(kwargs)
    pass
# 调用
dictA = {'name':'leo','age':'35'}
keyFunc(**dictA)
keyFunc(name='peter',age = 26,)
keyFunc()
def complexFunc(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
complexFunc(1,2,3,4,name='建党')
complexFunc(age=100)
def TestMup(**kwargs,*args): # 不符合要求的
    '''
    可选参数必须放到关键字可选参数之前
    可选参数:接受的数据是一个元组类型
    关键字可选参数:接受的数据是一个字段类型
    :param kwargs:
    :param args:
    :return:
    '''
    pass

-函数返回值

概念: 
    函数执行完以后会返回一个队形 如果在函数的内部有return 就可以返回实际的值 否则返回None。
类型:
     可以返回任意类型 返回值类型应该取决于return后面的类型。
用途:
    给调用方返回数据。
    在一个函数内可以出现多个return值 但是肯定只能返回一个return。
    如果在一个函数体内 执行了return 意味着函数就执行完成退出了 return后面的代码语句不会执行。
def Sum(a,b):
    sum = a+b
    return sum  # 将计算的结果返回
    pass
rs = Sum(11,89) # 将返回值赋值给其他变量
print(rs)   # 函数的返回值返回到调用的地方
def calComputer(num):
    li = [] # 空列表
    result = 0  # 定义一个变量初始值为0
    i = 1       # 定义一个变量初始值为1
    while i <= num: # while循环 判断i是否小于等于num 如果为真就执行循环体
        result += 1     # result = resule+1
        i += 1          # i = i + 1
        pass
    li.append(result)   # 将result的值添加到li列表中
    return li           # 返回 li列表
    pass

# 调用函数
value =calComputer(10)  # 将函数方法结果赋值给value
print(type(value))      # 打印数据类型
print(value)            # 打印
def returnTuple():
    '''
    返回字典类型数据
    返回元组类型数据
    :return:
    '''
    return {'name':'测试'}
    # return 1,2,3
    pass
A = returnTuple()
print(type(A))
print(A)

-函数的嵌套调用

函数的分类:
    根据函数的返回值和函数的参数。
        有参数无返回值的。
        有参数有返回值的。
        无参数有返回值的。
        无参数无返回值的。
def fun1():
    print('--------------1 strat------------------')
    print('--------------process------------------')
    print('--------------1 end------------------')
    pass
def fun2():
    print('--------------2 start------------------')
    fun1()  # 调用第一个函数
    print('--------------2 end------------------')
    pass

fun2() # 调用函数2 执行顺序 fun2()->2 start->fun1()->1 strat->process->1 end->2 end

相关文章

网友评论

    本文标题:Python精简入门学习(六)

    本文链接:https://www.haomeiwen.com/subject/ctspkltx.html