1、上层函数不能直接使用其嵌套函数的变量;

def func1(x, y):z = x + ydef func2():m = 3z += mreturn z
print(func1(1, 2))
# 报错:name 'm' is not defined

2、上层函数中的变量可以在其嵌套函数内直接使用:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func1(x, y):z = x + ydef func2():m = 3 + zreturn mreturn func2()
print(func1(1, 2))
# 输出:6

3、嵌套函数中,不能即使用上层函数变量,又有自己的变量与该上层变量同名:

def func1(x, y):z = x + ydef func2():# m=3 + z:z 是上层函数的变量m = 3 + z# z=m ** 2:z 是func2()函数自身的变量z = m ** 2return zreturn func2()
print(func1(1, 2))
# 报错:local variable 'z' referenced before assignment

提前声明该变量非本地变量(系统会自动从上层函数中查找该变量):nonlocal z

代码中的变量 z 均为func1()函数的变量

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func1(x, y):z = x + ydef func2():nonlocal zm = 3 + zz += mreturn zreturn func2()
print(func1(1, 2))
# 输出:9

4、上层函数的形参(x,y),可以在其嵌套函数中直接使用;

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func1(x, y):def func2():m = 3 + xz = m + yreturn zreturn func2()
print(func1(1, 2))
# 输出:6

5、上层函数的形参(x,y),可以作为其嵌套函数的形参:形参的名字必须相同

def func1(x, y):def func2(x, y):m = 3 + xz = m + yreturn zreturn func2(x, y)
print(func1(1, 2))
# 输出:6

Python:函数变量的使用相关推荐

  1. python函数变量的作用域_学不会的Python函数——变量作用域

    1. LEGB函数 Python中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的.我们先来看一段代码. 上述代码有两个变量a,当在test函数中输出变量a的值是,为什么 ...

  2. python函数变量的作用域_python函数变量的作用域

    python 2.7 变量作用域的疑问 函数a()定义u为全局变量,并赋值为0 函数b()中,设定没有声明u的访问方式 在函数中定义和修改全局变量,需要使用global关键字.但访问全局变量(不修改它 ...

  3. python 函数变量_Python函数中的变量和函数返回值

    1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变 ...

  4. 五分钟看懂python函数(同Java方法作比较)

    今天来学习python函数,对于有java基础的我来说那岂不是手到擒来 既然已经有java基础了,那么首先我想到的就是两个问题 python如何定义函数 python如何调用函数 python中如何定 ...

  5. python是什么语言、即变量不需要显示声明数据类型-Python函数声明以及与其他编程语言数据类型的比较...

    ** 1.函数声明 ** 与其它大多数语言一样 Python 有函数,但是它没有像 C++ 一样的独立的头文件:或者像 Pascal 一样的分离的 interface / implementation ...

  6. python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...

    函数变量的作用域声明(全局变量和局部变量) 引入问题: 局部变量: 局部变量:定义在函数内部的变量,它的作用域也仅限于函数内部,出了函数就不能使用了. 例如: #encoding = utf-8 de ...

  7. python函数的命名_18:命名, 变量, 代码, 函数

    # 练习18.命名, 变量, 代码, 函数 标题包含的内容够多的吧?接下来我要教你"函数(function)"了!说到函数,不一样的人会对它有不一样的理解和使用方法,不过我只会教你 ...

  8. 20 Python函数、定义一个函数、参数传递、匿名函数、return语句、变量作用域、

    20Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...

  9. python函数对变量的作用域_python函数变量作用域如何理解使用?

    大家对于这个名词"变量作用域"有了解过吗?如果大家没有听说过,小编可以协助大家理解下,拆分出来变量的定义,比如,函数里面去定义变量的,这种叫做局部变量,反之,不再函数里面的,那肯定 ...

最新文章

  1. 关于高阶导数的一个不等式估计
  2. VTK:PolyData之ShrinkPolyData
  3. python与正则表达式(part5)--re模块使用
  4. 那些35岁的程序员都去哪了
  5. Wannafly挑战赛24
  6. java语言 爱我,语言篇:Java环境
  7. 将Alfred与BetterZip整合,提高你的Mac工作效率
  8. kali安装超详细教程
  9. 中介效应调节效应分析对比及操作详解
  10. 画二元函数即三维图像的函数及matlab代码
  11. 小程序springboot宿舍管理毕业设计源码171008
  12. Adobe Camera Raw使用方法
  13. 简练网软考知识点整理-易混概念项目绩效评估与团队绩效评价
  14. wkwebview清空html缓存,清除WKWebView cookies的方法
  15. 001潜入大数据Hadoop框架的世界
  16. 无线路由器 mc服务器,无线路由器的mc地址.doc
  17. 轨道六根数 matlab,轨道六根数
  18. photoshop下载安装_如何保存,共享,下载和安装自定义Photoshop操作
  19. 图形学-二维图形的裁剪1.Cohen 2.Liang
  20. 世界顶尖青年发明家:13华人上榜[其中5人毕业于中科大]

热门文章

  1. mysql 查询缓存
  2. linux系统回收站功能的实现
  3. mysql etc rc.local_CentOS 7 开机启动自定义配置文件:/etc/rc.local 不执行解决办法 | IT运维网...
  4. java pdf添加透明水印_如何在PDF文件中添加透明水印
  5. mysql基础小测试三_数据库---MySQL(三)
  6. python写linux脚本_Linux下设置python脚本文件为服务
  7. wpf中loaded += 是干什么的_成都执业药师是干什么的
  8. 【学习笔记】7、标准数据类型—字符串
  9. 自媒体时代的主流媒体不可替代
  10. BAPI_SALESORDER_CREATEFROMDAT2 BAPI创建VA01 销售订单