«

Python第六课,函数的定义

时间:2023-2-27 21:10     作者:wen     分类: Python


基本上所有的高级语言都支持函数, Python也不例外. Python不但能非常灵活地定义函数, 而且本身内置了很多有用的函数, 可以直接调用.
函数就是最基本的一种代码抽象的方法

A: 函数基础
B: 函数的参数
C: 函数返回值
D: 函数嵌套调用

概念: 在编程的过程中, 有某一功能代码块出现多次, 但是为了提高编写的效率以及代码的重用, 所以把具有独立功能的代码块组织为一个小模块, 这就是函数
为什么要使用函数: 代码的复用最大化以及最小化冗余代码, 整体代码结构清晰, 问题局部化

# 函数定义
def mydump():
    i = 1
    while i < 10:
        j = 1
        while j <= i:
            print('%d*%d=%d' % (j, i, i * j), end=' ')
            j += 1
            pass
        i += 1
        print()
        pass
    pass

mydump()

def mytriangle(num=3):
    '''
    输入等腰三角形
    :param num:输入一个数字
    :return: string
    '''
    i = 0;
    while i <= num:
        k = i
        while k <= num - 1:
            print(' ', end='')
            k += 1
            pass
        j = 0
        while j <= i * 2:
            print('*', end='')
            j += 1
            pass
        i += 1
        print()
        pass
    pass

mytriangle(10)

函数的参数分类:
必须参数, 默认参数[缺省参数], 可选参数, 关键字参数

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

# 必填参数
def mysum(a, b):  # 形参
    '''
    计算两个数的和
    :param a: 参数1
    :param b: 参数2
    :return:
    '''
    return a + b
    pass

print(mysum(1, 2))  # 实参

# 默认参数[缺省参数] 缺省参数始终存在参数列表尾部
def mysum1(a, b, c=1):
    """
    计算3个数和
    :param a: 参数1
    :param b: 参数2
    :param c: 参数3
    :return:
    """
    return a + b + c
    pass

print(mysum1(1, 3))

# 可变参数(当参数的个数不确定时使用, 比较灵活),参数关键字是个元组类型
def mysum2(*args):
    result = 0
    for a in args:
        result += a
        pass
    return result
    pass

# 调用
print(mysum2(1, 2, 3, 4, 5))

# 关键字可变参数 关键字参数是个字典
def keyfun(**kwargs):
    print(kwargs)
    pass

# 调用
keyfun(**{'name': 'zhangsan'})
keyfun(name='zhangsan', age=18)

# 可以选参数必须放到关键字参数之前
def complexFun(*args,**kwargs):
    print(args)
    print(kwargs)
    pass

# 调用
complexFun(1,2,3,name="zhangsan")

返回值: 就是程序中函数完成一件事情后, 最后给调用者的结果

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

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

执行了return, 意味着函数执行完成退出了, return后面的代码语句将不会执行

标签: python基础