Python学习笔记九(变量作用域及内置函数和闭包函数)

在上次的学习中,初步认识了Python的自定义函数方式及变量参数。那么编程中的局部变量和全局变量应该是大多数语言的标配。Python中如果定义局部变量和全局变量的呢?在编程思想中无论是面向对象还是面向过程,都逃不开函数,函数中嵌套函数,这样的典型函数式编程对内嵌函数和闭包函数的支持是如何操作的呢?

1、变量作用域。

局部变量是指在程序中只在特定过程或函数中可以访问的变量。而全局变量是在程序块中任意位置创建拥有更长生命周期的变变量。

由于全局变量的特殊性,所以不建议修改全局变量,避免因全局变量修改而造成未知的错误。在确保正确的情况下一定要修改全局变量可以使用global关键字。

2、内嵌函数。

Python中的内嵌函数即在自定义函数中再定义个函数。例如可以解决函数中需要反复调用的部分。内嵌的函数在外部无法直接访问。如图中出错的部分。

3、闭包函数。

闭包的概念,在Python中一个内嵌的函数可以访问它外部的变量,且外部函数返回内嵌函数的调用,这样就形成了一个闭包函数。同样如果在外部直接调用闭包的内嵌函数,也会报错,如图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

技术 | Python从零开始系列连载(十五)

在Python中使用try...except 结构创建 ' 隔离区 ',也就是进行异常处理

10810
来自专栏不二小段

Python定时自动参与抽奖助手抽奖

很多时候我们写代码是为了替代重复劳动,解放生产力。学习定时任务可以帮助我们更好地完成日常性工作,如果你有一台云服务器、不关机的电脑或者树莓派的话,来学习一下如何...

38810
来自专栏iOSDevLog

Python机器学习:Scikit-Learn教程

一个易于理解的scikit-learn教程,可以帮助您开始使用Python机器学习。

66860
来自专栏灯塔大数据

技术 | Python从零开始系列连载(十四)

导读为了解答大家初学Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

12920
来自专栏iOSDevLog

Scikit-Learn Cheat Sheet:Python机器学习

一个方便的scikit-learn备忘录,用于使用Python进行机器学习,包括代码示例。

41640
来自专栏灯塔大数据

技术 | Python从零开始系列连载(二十一)

为了解答大家初学Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

15120
来自专栏开源优测

python+selenium+Jenkins+Firefox集成

python 下载地址:https://www.python.org/getit/

24210
来自专栏灯塔大数据

分析 | Python抓取婚恋网用户数据,原来这才是年轻人的择偶观

刚好在看决策树这一章,书里面的理论和例子让我觉得这个理论和选择对象简直不能再贴切。看完长相看学历,看完学历看收入。

31530
来自专栏开源优测

哪些年从事自动化测试需要经历的往事

在实战中,又去接触了watir,即ruby版的selenium,又是一通的直接看源码,顺便学习和了解ruby

12520
来自专栏灯塔大数据

教程 | 中国酷炫地图,大神教你用Python一边爬一边画

先来聊聊为什么做数据分析一定要用Python或R语言。编程语言这么多种,Java, PHP都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用Python...

54130

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励