中职电子与信息:《yhon小屋》3-3-3 变量作用域.docx
《中职电子与信息:《yhon小屋》3-3-3 变量作用域.docx》由会员分享,可在线阅读,更多相关《中职电子与信息:《yhon小屋》3-3-3 变量作用域.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、234567global xx = 3y = 48 x = 59 demo()10全局变量:311 12 x13 314 y#在函数外部定义了全局变量x局部变量:4#尝试着在函数外部访问一下函数的局部变量Python小屋之三程序控制结构与函数设计3.3函数设计与使用变量作用域变量起作用的代码范围称为变量的作用域,不同作用域内同名变量之间互不影响,就想 不同文件夹的同名文件之间互不影响一样。一个变量在函数外部定义和在函数内部定义,其 作用域是不同的,函数内部定义的变量一般为局部变量,在函数外部定义的变量为全局变量。在函数内部定义的普通变量只在该函数内起作用,当函数运行结束后,在其内部定义的 局部
2、变量将被自动删除而不可访问。在函数内部定义的全局变量当函数结束以后仍然存在并 且可以访问。如果想要在函数内部修改一个定义在函数外的变量值,那么这个变量就不能是局部的, 其作用域必须是全局的。可以在函数内部通过global关键字来声明或定义全局变量,这分两 种情况:(1)一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值 结果反映到函数之外,可以在函数内部用global明确声明要使用已定义的同名全局变量。(2)在函数内部直接使用global关键字将一个变量声明为全局变量,如果在函数外没 有定义该全局变量,在调用这个函数之后,会自动增加新的全局变量。或者说,也可以这样理解:在函
3、数内如果值引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变 量; def demo():#声明或创建全局变量#修改全局变量的值#局部变量print(,全局变量:局部变量:.format(x,y)15 Traceback (most recent call last):16 File ,/ line 1, in 17 y#尝试着在函数外部访问一下函数的局部变量18 NameError: name y is not defined19 20 del x#删除在函数外部定义的全局变量21 22 x#尝试访问一下全局变量x23 Traceback (most recent call last
4、):24 File , line 1, in 25 x#尝试访问一下全局变量x26 NameError: name x is not defined27 28 demo()#再调用一次函数,该函数会声明全局变量哦29全局变量:3局部变量:430 31 x#在函数内部创建了全局变量x32 333 34 v#局部变量在函数调用结束后自动删除35 Traceback (most recent call last):36 File / line 1, in 37 y38 NameError: name y1 is not defined39 代码块如果局部变量与全局具有相同的名字,那么改局部变量会在自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- yhon小屋 中职电子与信息:yhon小屋3-3-3 变量作用域 电子 信息 yhon 小屋 变量 作用
限制150内