zoukankan      html  css  js  c++  java
  • 函数

    1、什么是函数

    ​ 具备某一功能的工具=》函数
    ​ 事先准备工具的过程
    =》函数的定义
    ​ 遇到应用场景拿来就用=》函数的调用

    2、为何要有函数

    ​ 内置函数(python3解释器定义好的,我们只需要拿来使用即可)
    ​ 1、拿来主义,提升开发效率

    ​ 自定义函数:(把程序中实现某一功能一块代码组织整理到一起)
    ​ 为了解决
    ​ 1、增强程序的组织结构性、提升可读性
    ​ 2、减少代码冗余
    ​ 3、提升程序的可维护性与扩展性

    3、如何用函数

    ​ 使用原则:先定义,后调用

    ​ 定义函数的语法:

    ​ def 函数名(参数1,参数2,参数3):
    ​ '''
    ​ 文档注释
    ​ '''
    ​ 代码1
    ​ 代码2
    ​ 代码3
    ​ 。。。。。。
    ​ return 值

    ​ 调用函数的语法:
    ​ 函数名(值1,值2,值3)

    一:基本使用

    x = 10 # x = 存放值10的那个内存空间的内存地址
    print(x)

    def login():  # login = 存放代码的那个内存空间的内存地址
        name = input("your name>>: ")
        pwd = input("your pwd>>: ")
        role = input("your role>>: ")
        if name == "egon" and pwd == "123" and role == "amdin":
            print('login successful')
        else:
            print("user or password error")
    

    print(login)
    login()
    login()
    login()
    login()
    login()
    login()

    x = 10
    x() # 逻辑错误,没有语法错误

    二:先定义、后调用

    函数的使用分为两个阶段
    定义阶段:申请内存空间把函数体代码放进去,然后把内存地址绑定给函数名
    调用阶段:通过函数名找到函数体代码,加括号触发函数体代码运行

    强调:定义阶段只识别语法不执行代码,只有在调用阶段才会执行代码
    def func():
    xxx

    func()

    示范一:
    def f2():
        print('from f2')
    
    def f1():
        print('from f1')
        f2()
    
    f1()
    
    示范二:
    def f1():
        print('from f1')
        f2()
    
    def f2():
        print('from f2')
    
    f1()
    

    三:函数定义的三种形式

    3.1 无参函数
    def login():
        name = input("your name>>: ")
        pwd = input("your pwd>>: ")
        role = input("your role>>: ")
        if name == "egon" and pwd == "123" and role == "amdin":
            print('login successful')
        else:
            print("user or password error")
    
    login()
    
    3.2 有参函数
    def max2(x,y):
    
    x=10
    
    y=11
    
    ​    if x > y:
    ​        print(x)
    ​    else:
    ​        print(y)
    
    max2(10,11)
    max2(20,21)
    
    3.3 空函数
    def login():
        """登录功能。。。"""
        pass
    
    
    def register():
        pass
    
    
    def transfer():
        pass
    
    
    def withdraw():
        pass
    

    4:函数调用的三种形式

    def max2(p1_msalary, p2_msalary):
        if p1_msalary > p2_msalary:
            return p1_msalary
        else:
            return p2_msalary
    
    
    
    
    x = max2(10, 11)
    print(x * 12)
    
    语句形式:单纯的调用
    print("hello world")
    max2(10,11)
    
    表达式:
    x = max2(1, 2)
    res = max2(1, 2) * 12
    print(res)
    
    可以当做参数传给另外一个函数
    print(max2(1,2))
    
    res = max2(max2(10, 11), 12)
    print(res)
    

    5.函数的返回值

    1、函数体内没有return,或return后没有值:默认返回是None
    def func():
    
    return None
    
    ​    pass
    
    res = func()
    print(res)
    
    2、return 值:返回的就是这一个值
    def func():
        return 123
    
    res=func()
    print(res)
    
    3、return 值1,值2,值3:返回一个小元组(值1,值2,值3)
    def func():
        return 123, "abc", 3.1
    
    
    res = func()
    print(res, type(res))
    

    补充:函数内可以有多个return,return是函数结束的标志,函数体代码但凡运行到一个
    return就会立刻终止整个函数的运行,然后将return后的值当做本次调用的产品返回

    def func():
        print("first")
        return 111
        print('second')
        return 2222
        print('third')
        return 3333
    res=func()
    print(res)
    

    6.函数的参数分为两大类

    形参:

    在定义函数阶段,括号内指定的参数,称之为形式参数,简称形参
    形参相当于定义在函数内的变量名,用于接收外部传进来的值

    def func(x,y):
    
    x=10
    
    y=11
    
    ​    print(x)
    ​    print(y)
    
    实参:

    在调用函数阶段,括号内传入的值,称之为实际参数,简称实参
    实参相当于变量值,用于为形参赋值的

    func(10,11)
    

    ps:在函数调用时,会将实参的值绑定给形参,这种绑定关系只能在函数内使用,在函数调用完毕后,实参
    与形参会解除绑定,回收占用的内存空间

  • 相关阅读:
    elementui问题汇总
    微信小程序实现微信授权登录
    微信小程序数据存储
    小程序使用第三方服务,需要中转到一个h5页面,返回到指定页面
    小程序开发,通过左上角返回到指定页面
    万恶之源-基本数据类型(list,tuple)
    基础中的基础
    mybatis_plus实现自动填充和逻辑删除
    本地端口占用解决方案
    maven定义版本以来报红解决方案
  • 原文地址:https://www.cnblogs.com/lgh8023/p/13130398.html
Copyright © 2011-2022 走看看