首页 > 编程源码 > 【三哥】Python基础系列

【三哥】Python基础系列

楼主:傻萌三哥✨ [2级] · 2019-12-14 ·  浏览2291 · 编程源码 · ID:
Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。

本次目录
Python基础 深入闭包与变量作用域
Python基础 类方法的强制重写与禁止重写
Python基础 多继承与 Mixin设计模式
Python基础 理解元组存在的意义
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者傻萌三哥✨流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/19755.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
47条回复 |  最后回复于2019-12-14

傻萌三哥✨ [2级]

在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。其实装饰函数,很多都是闭包。
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

好像并不难理解,为什么初学者会觉得闭包难以理解呢?
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

我解释一下,你就明白了。
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

你可以看下面这段代码,就构成了闭包。在内函数里可以引用外函数的变量。
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

def deco():
name = "MING"
def wrapper():
print(name)
return wrapper

deco()()
# 输出:MING
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

改变作用域
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

变量的作用域,与其定义(或赋值)的位置有关,但不是绝对相关
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

因为我们可以在某种程度上去改变向上的作用范围。
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...

傻萌三哥✨ [2级]

关键字:global
将 局部变量 变为全局变量
发布于2019-12-14

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
16人签到
已签0天
  • 46634帖子
  • 1936793热点量
  • 184968火热值