zoukankan      html  css  js  c++  java
  • 函数基础

    函数基础

    函数体系介绍

    • 什么是函数

    • 为什么要用函数

    • 函数的分类:内置函数和自定义函数

    • 如何自定义函数

      • 语法
      • 定义有参函数,及有参函数的应用场景
      • 定义无参函数,及无参函数的应用场景
      • 定义空函数,及空函数的应用场景
    • 调用函数

      • 如何调用函数
      • 函数的返回值
      • 函数参数的应用:形参和实参,位置形参,位置实参,关键字实参,默认形参,*args,**kwargs
    • 高阶函数(函数对象)

    • 函数嵌套

    • 作用域与名称空间

    • 装饰器

    • 迭代器与生成器及协程函数

    • 三元运算,列表解析、生成器表达式

    • 函数的递归调用

    • 内置函数

    • 面向过程编程与函数式编程

    如果现在有一个需求需要实现用户登录注册的功能,我们该如何实现呢?

    # 注册
    
    user_name = input('请输入用户名>>>').strip()
    pwd = input('请输入密码>>>').strip()
    
    with open('user_name.txt','a',encoding='utf-8') as fa:
        fa.write(f'{user_name}:{pwd}
    ')
        fa.flush()
        
    
    请输入用户名>>>hades
    请输入密码>>>123
    
    # 登录
    
    inp_age = input('请输入账户>>>').strip()
    inp_pwd = input('请输入密码>>>').strip()
    
    with open('user_name.txt','rt',encoding='utf-8') as fr:
        for user_info in fr:
            user_info_list = user_info.strip('
    ').split(':')
            if inp_age == user_info_list[0] and inp_pwd == user_info_list[1]:
                print('login sucessful')
                break
        else:
            print('账户密码错误')
        
    
    请输入账户>>>nick
    请输入密码>>>234
    账户密码错误
    

    什么是函数

    函数就相当于工人手中的工具箱,我们事先准备好工具,在我们需要使用的时候直接从工具箱中找用就好了

    在程序中,函数就是一个具备某种功能的工具,我们事先定于好函数,后续需要使用的时候直接进行函数调用

    为何用函数

    如果不使用函数,我们写程序会出现程序冗长,程序扩展性较差,可读性也差

    如何使用函数

    先定义函数,再调用函数

    • 定义函数

      语法:def 函数名(paraml1,paramal2……):

            '''
            函数功能描述
            '''
            code1
            code2
        
            ……
            return 返回值
      
    • 调用函数

      语法:函数名(paraml1,paramal2……)

    函数定义阶段

    1. 只检测语法,不执行函数里的代码
    def func():
        bar()  # 不属于语法错误,不会报错
        print('*'*10)
        if:    #   会报语法错误
    
      File "<ipython-input-7-8ef9809f34c8>", line 4
        if:    #   会报语法错误
          ^
    SyntaxError: invalid character in identifier
    

    函数调用阶段

    1. 在调用函数的时候,会执行代码
    def func():
        bar()        # 执行会报错
        print('*'*10)
    
        
    func()
    
    ---------------------------------------------------------------------------
    
    NameError                                 Traceback (most recent call last)
    
    <ipython-input-9-933d355a2496> in <module>
          4 
          5 
    ----> 6 func()
    
    
    <ipython-input-9-933d355a2496> in func()
          1 def func():
    ----> 2     bar()        # 执行会报错
          3     print('*'*10)
          4 
          5 
    
    
    NameError: name 'bar' is not defined
  • 相关阅读:
    ES(一): 架构及原理
    Durid(二): 数据集及存储
    Durid(一): 原理架构
    【DataBase】H2 DateBase与项目集成
    【DataBase】H2 DateBase的拓展使用
    【Mybatis】MyBatis之插件开发(十)
    【DataBase】H2 DateBase的简单使用
    【DataBase】Hsqldb与项目集成
    【DataBase】Hsqldb的简单使用
    【Mybatis】MyBatis之Generator自动生成代码(九)
  • 原文地址:https://www.cnblogs.com/Hades123/p/10946442.html
Copyright © 2011-2022 走看看