美文网首页python热爱者
python 函数作用域小记

python 函数作用域小记

作者: Miltonlong | 来源:发表于2017-11-25 17:25 被阅读10次

- 函数内部的变量只作用在函数内部,外部是不能调用的。

- python 中有作用域链,变量会由内向外找,先在自己的作用域找,自己没有再向上级找,直到找不到报错。

- 若在自己的作用域找到了相应的变量,而在赋值之前调用则程序会报错



#1

name = 'milton'

def f1():

    print(name)

f1()

程序会输出 >>>milton

f1 函数,变量 name 首先在函数内部找,没有找到变量的赋值,则向函数外部找,找到name = 'milton' ,打印出 name 的值。


#2

name ='milton'

def f1():

    name = 'long'

    print(name)

f1()

程序会输出 >>>long

f1 函数,变量 name 还是先从函数内部找,找到 name = 'long',故就不再向外找 name 的值。


#3

name ='milton'

def f1():

    print(name)

    name = 'long'

    print(name)

f1()

程序会报错,因为第一句 print(name),函数先从函数内部到变量 name ,但是 print 出现在了 name 的赋值之前,故程序报错:UnboundLocalError: local variable 'name' referenced before assignment  (本地变量(局部变量)在声明之前调用)

相关文章

  • Python的闭包与装饰器

    一、python的函数作用域 python的函数作用域的含义,简而言之,即函数执行时变量所在的作用域。在pytho...

  • python 函数作用域小记

    - 函数内部的变量只作用在函数内部,外部是不能调用的。 - python 中有作用域链,变量会由内向外找,先在自己...

  • 函数的作用域、模块的导入、递归的简单使用及函数文档字符串

    1.函数作用域 1.1作用域介绍 python中的作用域分4种情况:L:local,局部作用域,即函数中定义的变量...

  • Python装饰器

    1. 函数 2. 作用域 全局作用域与本地作用域 内置函数 globals 返回一个包含所有 Python 解释器...

  • 装饰器

    作用域:python的作用域一共有4种,分别是:L(local)局部作用域E(Enclosing)闭包函数外的函数...

  • python+AI第六课

    函数作用域 python中的作用域分4种情况 L:local,局部作用域,即函数中定义的变量 E:enclosin...

  • 第2模块第1章21函数—作用域

    作用域 在Python中函数就是一个作用域,局部变量放置在其作用域中 C Java中作用域{}已经生成,作用域向上...

  • 7.python装饰器

    一、装饰器 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。...

  • python基础-08-内置函数、作用域、闭包、递归

    python基础-内置函数、作用域、闭包、递归 1.常见的内置函数 2.函数内变量的作用域 3.内嵌函数和闭包 4...

  • JavaScript 作用域和闭包理解

    作用域: 分为函数作用域,和块级作用域; 函数作用域 函数作用域外面的无法访问函数作用域内部的变量和函数,这样就可...

网友评论

    本文标题:python 函数作用域小记

    本文链接:https://www.haomeiwen.com/subject/imvcbxtx.html