简单了解python变量的作用域


Posted in Python onJuly 30, 2019

1.效果图:

简单了解python变量的作用域

2.代码

# 作用域 是 对象生效的区域(对象能被使用的区域)
# 全局作用域在任意位置可生效
# 局部作用域在函数内生效

c = 20 # 全局变量

def fn():
  d = 10 # a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问
  print('函数内部:','c =',c)
  print('函数内部:','d =',d)

fn()  
 
print('函数外部获取:','c =',c)
print('函数外部获取:','d =',d)


# 在Python中一共有两种作用域
# 全局作用域
#  - 全局作用域在程序执行时创建,在程序执行结束时销毁
#  - 所有函数以外的区域都是全局作用域
#  - 在全局作用域中定义的变量,都属于全局变量,全局变量可以在程序的任意位置被访问
#  
# 函数作用域
#  - 函数作用域在函数调用时创建,在调用结束时销毁
#  - 函数每调用一次就会产生一个新的函数作用域
#  - 在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问
#  
# 变量的查找
#  - 当我们使用变量时,会优先在当前作用域中寻找该变量,如果有则使用,
#    如果没有则继续去上一级作用域中寻找,如果有则使用,
#    如果依然没有则继续去上一级作用域中寻找,以此类推
#    直到找到全局作用域,依然没有找到,则会抛出异常
#      NameError: name 'a' is not defined

3. 在函数内修改全局变量 使用global关键字

效果图:

简单了解python变量的作用域

代码:

a = 20

def fn3():
  # a = 10 # 在函数中为变量赋值时,默认都是为局部变量赋值
  # 如果希望在函数内部修改全局变量,则需要使用global关键字,来声明变量
  global a # 声明在函数内部的使用a是全局变量,此时再去修改a时,就是在修改全局的a
  a = 10 # 修改全局变量
  print('函数内部:','a =',a)

fn3()
print('函数外部:','a =',a)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python开发之基于thread线程搜索本地文件的方法
Nov 11 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
Python重新加载模块的实现方法
Oct 16 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
使用Python脚本从文件读取数据代码实例
Jan 19 Python
Python接口测试get请求过程详解
Feb 28 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
Django实现后台上传并显示图片功能
May 29 Python
Python使用scapy模块发包收包
May 07 Python
学习和使用python的13个理由
Jul 30 #Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 #Python
python利用tkinter实现屏保
Jul 30 #Python
django 微信网页授权登陆的实现
Jul 30 #Python
python tkinter库实现气泡屏保和锁屏
Jul 29 #Python
django迁移数据库错误问题解决
Jul 29 #Python
python实现桌面托盘气泡提示
Jul 29 #Python
You might like
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
vue写一个组件
2018/04/09 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
详解python的ORM中Pony用法
2018/02/09 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
大四自我鉴定范文
2013/10/06 职场文书
30岁生日感言
2014/01/25 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
无罪辩护词范文
2015/05/21 职场文书