zoukankan      html  css  js  c++  java
  • Python 函数介绍

    返回值

    # def f():
    #     print('ok')
    #
    #     return  10      #return 返回
    #                     #retrun作用  1,结束函数 2,返回某个对象
    #
    # a = f()
    # print(a)
    # print(f())
    
    def add(*args):
        Sum = 0
        for i in args:
            Sum += i
        return Sum     #保留sum的值   把sum赋给 add(1,2,3)
    a = add(1,2,3)
    print(a)
    
    #函数里如果没有return 会默认返回None (就是什么都没有)
    #如果ruturn多个对象,会返回一个多个对象组成的元组

    作用域

    #L>E>G>B。
    #L:local,局部作用域,即函数中定义的变量
    #E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域
    #G:globa,全局变量,就是模块级别定义的变量
    #B:built-in,系统固定模块里面的变量
    count = 10
    def outer():
        global count    #声明此处往下是使用全局变量,否则会报:先输出变量再给变量定义的错
        print(count)
        count = 100
        print(count)
    outer()
    #1,只有模块、类、及函数才能引入新作用域
    #2,对于一个变量,内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量
    #3,内部作用域要修改外部作用域变量的值时,全局变量要使用global关键字,嵌套作用域变量要使用nonlocal关键字。
    # nonlocal是python3新增的关键字,有了这个 关键字,就能完美的实现闭包了

    闭包

    # 闭包  知识点
    #如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用
    # ,那么内部函数就被认为是闭包(closure).
    #(1)作用域
    #(2)高阶函数
    #(3)闭包
    def outer():
        x = 10
        def inner():     #条件一 inner就是内部函数
            print(x)    #条件二 外部环境的一个变量
    
        return  inner   #结论:内部函数inner就是一个闭包
    
    #关于闭包  闭包=函数块+定义函数时的环境,inner就是函数块,x就是环境
    # ,当然这个环境可以有很多,不止一个简单的x。
  • 相关阅读:
    设计模式:简单工厂模式
    datav轮播表使用事例
    POI操作Excel常用方法总结 .
    序列图像三维重建 学习过程流水账
    python面向对象编程
    python批量生成word文档
    Linux 网络配置方法 nmtui 配置
    leetcode 剑指 Offer 67. 把字符串转换成整数 & leetcode 8. 字符串转换整数 (atoi)
    leetcode 剑指 Offer 59
    leetcode 剑指 Offer 53
  • 原文地址:https://www.cnblogs.com/linpei/p/10980471.html
Copyright © 2011-2022 走看看