zoukankan      html  css  js  c++  java
  • Python Day 10 函数、函数作用、组成部分、返回值return作用

      阅读目录:

        函数

        函数的使用

        函数的分类

        函数的返回值

      ##函数  

    ##函数的定义-----what?----什么是函数:
    # 函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数
    #    -- 现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名
    # => 通过名字就可以找到工具 => 使用工具来解决问题
    ## 函数的优点-----why?------为什么要用函数:
    # 1. 避免代码的冗余
    # 2. 让程序代码结构更加清晰
    # 3. 让代码具有复用性,便于维护
    ##函数的组成部分(四部分):
    1. 函数名:使用该函数的依据
    2. 函数体:完成功能的代码块
    3. 返回值:功能完成的反馈结果
    4. 参数:完成功能需要的条件信息
    # 定义函数的语法:通过def关键字来定义
    def get_water(water, money):
        print('收入你的%d元钱')
        print('给你%s水种')
        return '矿泉水'

      ##函数的使用

    # 使用函数:
    1.根据需求定义函数
    2.通过函数名找到函数所在的位置(内存地址)
    3.函数名() 执行函数地址中存放的所有代码块
           -- 函数在定义时需要外界的参数,就要在调用时传入对应的参数
    4.函数执行完一定有返回结果,通过return关键字将结果返回给外界
           -- 外界需要知道执行结果,用变量接收,反之只执行函数(不需要接收)即可
    
    # 注:函数必须先定义,后使用
    
    # 函数的四部分都可以根据需求的变化而变化
    def get_water(water, money):
        print('收入你的%d元钱' % money)
        print('给你%s水种' % water)
        return water
    
    # 需要使用函数,就调用一次
    res = get_water('矿泉水', 10)
    print(res)
    
    print('玩耍...')
    print('又口渴了...')
    
    # 又来需求,在调用一次,代码可以复用,函数只有一个,代码结构清晰且不冗余
    res = get_water('王老吉', 20)
    print(res)

      ##函数的分类

    # 1.根据函数体分类
    # 空函数: pass来填充函数体的函数
    #        -- 优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数)
    def login(): pass  # 在开发初期,可以讲所有功能提前列出来,用pass占位着,后期再去填充功能体
    
    # 非空函数:有函数体的函数
    def fn2():
        print('函数体')
    
        
    # 2.根据函数参数分类
    #无参函数
    def add():
        print('功能体不需要外界的参数')
        n1 = input('n1: ')
        n2 = input('n2: ')
        print(n1 + n2)
    
    # 有参函数
    def add_two(n1, n2):
        print('功能体需要外界的参数')
        print(n1 + n2)
        
    # 3.根据函数返回值分类:所有的函数都有返回值
    # 不明确返回值
    def low_two(n1, n2):
        # 外部不需要知道内部的执行结果
        print(n1 - n2)
    
    # 明确返回值
    def jump_two(n1, n2):
        # 外部需要知道内部的执行结果
        return n1 * n2
    res = jump_two(10, 20)
    print(res)

      ##函数的返回值

    # 重点:函数名()
    # 1)拿到函数地址 => 2)加()执行函数体 => 3)得到函数的执行结果
    
    # 重点: 返回值的功能
        1.结束函数;
        2.将函数的内部数据返回给外部
    
    
    # 二、应用场景
    # 1.不明确return关键词的函数:系统在函数最末尾自动添加了return,返回的是None
    def fn1():
        print('普通的函数执行')
    
    res = fn1()  # 一般不需要对这样的函数进行接收执行结果
    print(res)
    
    
    # 2.明确空return关键词的函数:为了结束函数而return
    def print_msg():
        while True:
            msg = input("msg: ")
            if msg == 'q':
                # break
                return  # 在特定的位置需要直接结束函数,但不需要告诉外界某个结果,用空return处理
            print(msg)
        print(msg)  # 在break下可以被执行,在return下不能被执行
    res = print_msg()
    print(res)
    
    
    # 3.有明确的返回值需求的函数:
    #       -- python中的函数本质上只能返回一个值,
    #               -- 值跟在return关键词后
    #               -- 可以通过语法上返回多个值,值之间用逗号隔开,但是本质上返回装有多个值的元组
    # 一个值
    def get_num():
        num = input('num: ')
        return num
    print(get_num())
    
    # 多个值
    def get_two_num():
        n1 = input('n1: ')
        n2 = input('n2: ')
        return n1, n2
        # return (n1, n2)
    # print(get_two_num())
    num1, num2 = get_two_num()  # python的return支持多值返回的语法原因是python中有解压赋值
    print(num1, num2)
  • 相关阅读:
    Win2003 远程控制管理工具tsmmc 移植到XP连接多个服务器远程桌面的方法
    c++中new char(10) 和 new char[10]的区别
    64位ubuntu上安装 hadoop2.4.0
    g++编译安装
    atoi()函数实现
    LRU Cache
    Longest Palindromic Substring
    Java 中 == 和 equal 的区别 (String)
    抓取HTML
    验证码居中
  • 原文地址:https://www.cnblogs.com/liangzhenghong/p/10764904.html
Copyright © 2011-2022 走看看