• 函数的基础知识


    一、函数名

    1、函数的概念:

    • 重复利用的工具
    • 可以完成特定功能的代码块,函数就是存放代码块的容器

    2、函数的定义:

      函数的四个组成部分:
    • fn:函数(变量)名
    • ():参数列表,参数个数可以为0~n个,但()一定不能丢
    • 函数体:实现功能的具体代码
    • return:函数的返回值

      def:声明函数的关键词

    二、如何使用函数

    • 函数名:拿到函数的地址
    • 函数名():拿到函数的地址,并执行函数中存放的代码块(函数体)*
    • 函数名(参数):执行函数并传入参数
    • 函数名():执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算
    def fn(num):
        print("传入的num值:%s" % num)
        return("收到了")
    # fn直接打印,只能看到函数存放代码的地址
    print(fn, id(fn))
    
    # 函数的返回值也称之为函数值,就是函数执行结束后的结果
    # 可以用变量接收 | 可以直接打印 | 可以直接使用
    msg = fn(10)
    print(msg)
    
    print('>>>>', fn(10) + '好喝')
    # 函数执行的本质:执行函数体,得到函数返回值

      重点:先定义后使用

    三、函数体分为:

      1、空函数:项目之处,知道项目有哪些功能,但还没有明确功能体,可以用pass进行函数体填充

    def computed():
        pass

      2、非空函数:用函数体

    def add_num(n1,n2):
        ''' 函数的注释
        :param n1: 第一个数
        :param n2: 第二个数
        :return: 两个数之和
        '''
        return n1 +n2

    四、参数列表分为:

      1、无参函数:函数体运行不需要外界提供参数

    def print_msg():
        print("欢迎大家来到老男孩教育,奉献你的余生!!!")
        
        
    print_msg()

      2、有参函数:函数体运行需要外界提供参数

    def print_school_msg(p1, p2):
        print("欢迎%s和%s领导莅临老男孩教育,敞开你的腰包!!!" % (p1, p2))
    
    
    p1 = input("输入一号领导名:")
    p2 = input("输入二号领导名:")
    print_school_msg(p1, p2)

    五、返回值分为:

    空返回:

      1、没有return的函数

    def fn1():
         print('fn1 run!!!')
    
    res = fn1()
    print('没有return关键字的返回值:%s' % res)  # None

      2、空return:可以根据具体情况注定退出函数(像break结束循环一样)

    def fn2():
         print('fn2 run!!!')
        
        
    res = fn2()
    print('空return关键字的返回值:%s' % res)  # None

      无return函数与空return函数的区别

        空return:可以根据具体情况主动退出函数(像break结束循环一样)

    值返回:

      1、return一个值

    def add_num(n1, n2):
        return n1 + n2
    print(add_num(10, 15))

      2、return多个返回值:本质就是返回装有多个值的元组

    def computed_sup(n1, n2):
        # 返回四则运算的结果
        r1 = n1 + n2
        r2 = n1 - n2
        r3 = n1 // n2
        r4 = n1 ** n2
        return r1, r2, r3, r4
    
    a, b, c, d = computed_sup(50, 25)
    res = computed_sup(50, 25)  # 得到的是装有所有结果的元组
    print(res)

      重点:定义函数的思想

    六、函数的嵌套调用:在一个函数体中调用另一个函数

    # 在解释过程中,不执行函数体,在函数被调用时,函数体才被执行
    def fn1():
        print('fn1 run')
        fn2()
    
    def fn2():
        print('fn2 run')
        fn3()
    
    def fn3():
        print('fn3 run')
    
    # 注:在fn1中调用了fn2,所以调用fn1的逻辑应该在fn2定义之后
    fn1()

      案例:

    #用函数获取两个数的最大值
    def max_2(n1, n2):
        if n1 > n2:
            return n1
        return n2
    
    print(max_2(200, 30))
    
    # 获取三个数的最大值
    def max_3(n1, n2, n3):
        m2 = max_2(n1, n2)
        return max_2(m2, n3)
    
    print(max_3(300, 30, 30))
    
    # 获取四个数的最大值
    def max_4(n1, n2, n3, n4):
        m2 = max_2(n1, n2)
        return max_3(m2, n3, n4)
    print(max_4(10,30,20,0))
  • 相关阅读:
    Java 继承和重写
    Java 构造函数和函数重载
    java 面向对象
    for循环和数组例题
    java数组和函数
    java程序流程控制
    CF600C Make Palindrome
    CF600A Extract Numbers
    [NOI2007]社交网络
    SPOJ 6779 GSS7
  • 原文地址:https://www.cnblogs.com/wangyisen/p/10617707.html
Copyright © 2020-2023  润新知