day9-函数基础

函数

1.认识函数

a.什么是函数
函数就是对实现某一特定功能的代码的封装。(机器)
b.函数的分类(谁定义的函数)
系统函数:
python已经定义好, 程序员可以直接使用的函数.(别人已经造好的机器)
自定义函数:
由程序员自己定义,程序员可以自己使用或者给别人使用的函数.(自己造机器)

2.定义函数(造机器)

语法:

def 函数名(形参列表):
    函数说明文档
    函数体

说明:

1) def      -   关键字;固定写法
2) 函数名      -   程序员自己命名;
                    要求: 标识符、不能是关键字
                    规范:字母小写,单词之间用_隔开;
                    见名知义(看到函数名大概知道函数的功能);
                    不使用系统的函数名、类型名和模块名
3) ():       -   固定写法(不能省略)
4) 形参列表   -'变量名1, 变量名2, 变量名3,...'的形式存;
                 形参的作用是将函数外部的数据传递到函数里面(如果实现函数的功能需要提供外部数据,
                 那么这个函数就需要形参)
5) 函数说明文档   -   函数的说明书;本质就是用""""""引起来的文档注释
6) 函数体      -def保持一个缩进的一条或者多条语句(至少一条);
                   实现函数功能的代码段

(重点)注意: 定义一个函数的时候刽执行函数体

示例1: 定义一个函数求任意两个数字的和

def sum1(num1, num2):
    """
    求两个数字的和 -   函数功能说明区
    :param num1: 提供第一个数字    -   参数说明
    :param num2: 提供第二个数字    -   参数说明
    :return: None   -   返回值说明
    """
    print(num1 + num2)
    return


sum1(6, 7)

练习1:定义一个函数,求一个数的阶乘:N! = 1234…*N

def factorial(num):
    """
    求阶乘结果函数
    :param num: 提供数字
    :return: 返回结果
    """
    x = 1
    for i in range(1, num + 1):
        x *= i
    print(x)
    return


factorial(5)

练习2:写一个函数将两个字符串交叉合并

‘abc’、‘123’ -> a1b2c3
‘abc’、‘12345’ -> a1b2c345
‘abcdef’、‘123’ -> a1b2c3def

def merge(str1, str2):
    """
    字符串交叉合并
    :param str1: 提供一个字符串
    :param str2: 提供第二个字符串
    :return: 返回结果
    """
    list1 = []
    # 先拼接相同长度的部分
    for x in range(min(len(str1), len(str2))):
        list1.append(str1[x])
        list1.append(str2[x])
    # 拼接尾部
    if len(str1) > len(str2):
        list1.append(str1[len(str2):])
    else:
        list1.append(str2[len(str1):])
    new_str = ''.join(list1)
    print(new_str)


merge('abcde', '1235555')

3.调用函数(使用机器)

语法:

函数名(实参列表)
说明:
函数名     -       需要使用的已经定义好的函数的函数名
()         -       固定写法
实参列表    -'数据1, 数据2, 数据3,...'的形式存在;
                    实参就是需要从函数外部传递到函数内部使用的具体的数据(默认情况下呗调用的函数有多少
                    形参就需要提供多少个实参)
def max1(*num):
    x = num[0]
    for i in num:
        if x < i:
            x = i
    print(x)


max1(5, 9, 62, 88, 60)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值