Python教程

初学Python-day10 函数2

本文主要是介绍初学Python-day10 函数2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

        函数

 

 

1.函数也是一种数据

  函数也是一种数据,可以使用变量保存

  回调函数(参数的值还是一个函数)

 

实例:

def test():
    print('hello world')


def test1(a):
    print(a)
    a()


test1(test)

 运行结果:

<function test at 0x0000021835700160>
hello world

Process finished with exit code 0

  

 

 

2.变量的作用域

-闭包

概念:又称为闭包函数或闭合函数,和函数嵌套类似,不同之处在于闭包函数中返回的不是一个值,而是一个函数。

优点:避免污染全局环境,这样就可以在函数体外使用函数体中定义的变量

缺点:数据会长期驻留在内存中,内存浪费

实例:

name = 'a'
def fun01():
    name = 'b'
    print('执行fun01')
    def fun02():
        name = 'c'      # 函数体内的变量
        print('执行fun02', name)
    return fun02


fun01()()





运行结果:

执行fun01
执行fun02 c

Process finished with exit code 0

  

-作用域

概念:Python中程序的变量并不是在哪个位置都能够访问到的,访问权限决定于这个变量在哪里定义。

作用域的划分:

  1.局部作用域 L

  2.闭包函数外到函数中E

  3.全局作用域 G

  4.内建作用域 B

变量的查找规则: L > E > G > B

也就是在使用变量的时候,优先局部查找,如果查不到,则到闭包函数外函数中,再去全局作用域,再去内建作用域。

 

注意:Python中只有模块(module)、类(class)、函数(def、lambda)才会引入新的作用域;其他的代码块,如if/if..else/if..elif..else/try..except/for/while 不会引入新的作用域,也就是说这些内部定义的语句,外部也可以访问。

 

-作用域的体现

在函数外部定义的变量称为全局变量,在函数内部定义的变量称为局部变量。

函数内部可以获取全局变量,函数外部无法获取局部变量。

 

这篇关于初学Python-day10 函数2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!