Python3 的内置函数和闭包
2018-06-18 00:57:08来源:未知 阅读 ()
1、global 关键字
如果在函数内部需要修改全局变量那么需要使用global关键字
x=1 def mfun(): global x x=2 print(x) >>> mfun() 2
2、内嵌函数(内部函数)
内部函数的的作用域在外部函数作用于之内,及只能在外部函数内调用内部函数
def outside(): print("正在调用outside") def inside(): print("正在调用inside") inside() outside() inside()#这句话是错的 正在调用outside 正在调用inside Traceback (most recent call last): File "C:\Users\ENVY\Desktop\learnning Python\text.py", line 7, in <module> inside() NameError: name 'inside' is not defined
3、闭包(closure)
def line_conf(): def line(x): return 2*x+1 return line # return a function object my_line = line_conf() print(my_line(5))
def line_conf(): b = 15 def line(x): return 2*x+b return line # return a function object b = 5 my_line = line_conf() print(my_line(5)) # 返回25
在内部函数中只能对外部函数的局部变量进行访问,但是不能修改,如果需要修改则需要用到nonlocal关键字,委屈求全可以使用“容器类型”代替
def line_conf(): b = 15 def line(x): nonlocal b b=20 return 2*x+b return line # return a function object b = 5 my_line = line_conf() print(my_line(5)) #返回30
def line_conf(): b = [15] def line(x): b[0]=20 return 2*x+b[0] return line # return a function object my_line = line_conf() print(my_line(5)) #返回30
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- Python之装饰器笔记 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash