zoukankan      html  css  js  c++  java
  • Python中的函数概述

    1.python中函数概述

    概念

    模块化编程的思想
    有组织,可共享(重复使用,实现特定的功能的代码块)
    提高程序的可维护性,提高开发效率,提高代码的重用性
    

    定义一个函数

    1.语法:
        def 函数名称(形参列表):
            函数体/代码块
            return 返回值
    2.定义参数介绍
    def :关键字 用于函数的定义,函数的构建,表示当前正在定义一个函数
    函数名称: 函数的名字,方便调用函数
    ():定义函数,向3函数中传递所有参数    需要在此处定义
    函数体:以 冒号开头,缩进表示区域,多行代码组成
    return: 表示函数的结束,返回一个结果给调用方,
            可以省略不写,返回一个None
    3.函数名称的命名规则
        遵循标识符的命名规则
        不能使用系统内置的函数名称,避免函数的冲突和覆盖
    

    函数的调用

    自定义变量 = 函数名称(实参列表)
    函数需要调用才执行
    调用的次数没有限制
    

    函数的类型

    系统内置的函数u()
        print()
    自定义函数()
    

    2.函数氵参数

    参数的类型

    形参: 定义函数时,在()中定义的形式参数,在函数调用时才分配空间,函数调用完毕后回收空间
          形参是有一定的生命周期的
    实参: 函数被调用时,在()中填入的参数,实际数据          
    

    2.形参

    类型1:普通参数,以正确的顺序和数量声明的参数
    类型2:关键字参数,函数调用时使用关键字参数来确定传入的数据,允许函数嗲用是参数顺序和申明时不一致
    类型3:默认参数 在调用时,实参可以不传递,当前默认参数需要在普通参数后面定义 
    

    命名关键字参数

    这个*就是用来分隔关键字参数和普通参数的
    *本身不是一个参数
    

    参数的顺序

    普通参数 默认参数 收集参数
    
    在实参前面加上*,会将容器类参数,拆分出来进行传递
    

    4.返回值

    有返回值的函数:
        使用 return 返回结果
    没有返回值的函数
        执行过程的函数,不需要接受最终的 处理结果+
    return 关键字
        返回多个值 也OK
    

    python中函数参数和返回值

    python中函数文档

    help()查看函数文档
    __doc__ 查看函数文档
    自定义函数文档
        在函数的代码块的开头使用多行注释 描述函数的说明
        
    有一种函数叫做匿名函数,匿名函数就是没有名字呗
        lambda表达式->创建匿名函数
        
        语法:lambda 参数列表 : 函数体(方法体)
        
        案例:
            add = lambda a,b : a+b
            print(add(1,2)        
    

    python中函数参数的传递

    python中变量的生命周期

    可更改对象和不可更改对象
        可更改对象:在内存中存储的数据是允许更改的
            list dict
        不可更改对象: 在内存中复制一个空间 相当于创建了一个父本一样
            Number String tuple set
            
    参数的传递
        传递的参数是不可更改对象: 值传递
        传递的参数是可更改对象: 地址传递
    

    五 变量的生命周期和作用域

    变量的作用域

    定义在函数内的变量,具有局部作用域
    定义在函数外的变量,函数外,具有全局的作用域
    

    作用域

    全局变量:
        在函数外部声明的变量,具有全局作用域
        在函数外部和函数内部正常访问和操作
    局部变量:
        在函数内部声明的变量,具有局部的作用域
        在函数内部进行访问
        查看当前可以使用的局部变量
        locals() 返回值 字典类型的当前函数的可以使用的局部变量 
        
        globals() 查看当前位置的所有的全局变量
    

    变量作用域的转换

    将局部变量转换为全局变量
        global 变量名
        使用global 提升了的变量才是严格意义上的变量,后续可以对其进行各种操作
        而直接在函数外声明的全局变量,只可以才局部进行访问,无法进行修改等而其他 操作
        global 对于当前位置来说,知识当前提升了 
        其他函数也是相当于普通的外部变量,但是无法修改其变量值
        
        
        num1 = 1
        def f1():
            函数内部可以访问,num1,不能修改num1
            在当前位置提升变量的作用域       
        
        def f2():
            num2 = 2,局部变量,在外部访问num2,在当前位置 用global修饰
            就可以在外部访问num2了
            在当前位置,可以修改,无法修改
    

    回顾

    重点:
        定义
            格式
        调用
            实际参数 *
        函数文档
            这个可有用的
        函数参数
            各种 类型的参数 的传递
        函数返回值
            多个值的情况
        变量的作用域
            global
        变量的声明周期(可变对象和不可变对象)
            参数的值传递和地址传递
            能不能改的问题
    

    作业

    1. 打印1-100之间所有能被7整除但是不能被5整除的所有数
        
    2. 简易计算器: 实现 加 减 乘 除
        编写计算器函数 (调用这个计算器函数)        
        
    1. 从控制台打印如下图形
        123456
        234567
        345612
        456123
        561234
        612345        
    
  • 相关阅读:
    springMVC学习 十二 拦截器
    SpringMVC 学习 十一 springMVC控制器向jsp或者别的控制器传递参数的四种方法
    SpringMVC 学习 十 SSM环境搭建(三)springMVC文件配置
    iconfont 在项目中的简单使用
    CSS实现带阴影效果的三角形
    前端以数组的方式传参
    JQuery的ajaxFileUpload的使用
    layer弹出层的关闭问题
    e.target与事件委托简例
    SpringBoot项目在IntelliJ IDEA中实现热部署(简单方式)
  • 原文地址:https://www.cnblogs.com/victorfengming/p/11930947.html
Copyright © 2011-2022 走看看