Python全局变量和局部变量相关知识点
知识点一:
#在函数外面定义的变量叫全局变量
num = 100 def AAA():
'''
如果在函数中直接修改全局变量,那么会产生异常
如果真的需要修改,可以在函数中进行声明(前面加入global)
'''
global num
print(num)
num+=2
print(num) def BBB():
print(num) AAA() #输出100和102
#调用函数AAA()后全局变量num的值就真的改变了
BBB() #输出102
知识点二:
'''
如果全局变量是可变类型,比如列表或字典,那么就可以在函数中直接修改;
而对于不可变类型,比如int,是不能直接在函数中修改的
'''
nums = [11,22,33]
info = {"name":"xiaowang","age":24} def test():
print("-"*20)
# nums.append(44) #列表可以在函数中修改
# print(nums)
info['name'] = 'xiaoli'
print(info) def test2():
print("="*20)
# print(nums)
print(info) test()
test2()
#上述两次打印结果一样
知识点三:
#为了防止和局部变量名字相同,所以在全局变量前加一个g
# g_a = 200
a = 200 def test3():
print("-"*20)
#a+=1 #这种情况下是直接修改a的值,但由于函数外的a是全局变量不能在函数内修改,所以会报错 a = 100
'''
注意一:这里可能是重新定义一个新的变量a,也有可能是修改a的值,但由于全局
变量a不能修改,所以此处是重新定义了一个a;
注意二:如果一个局部变量和全局变量名字相同,那么用的是局部变量
'''
print(a) def test4():
print("="*20)
print(a)
#print(b) # name 'b' is not defined
#变量的使用顺序是:局部变量->全局变量,如果两者都没有,程序就会报错 test3() #打印100
test4() #打印200
Python全局变量和局部变量相关知识点的更多相关文章
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- day15 Python全局变量和局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变 ...
- Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归
一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...
- Python全局变量和局部变量
全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问.调用函数时,所有在函数内声明的变量 ...
- Python 全局变量和局部变量,global 和 nonlocal关键字
全局变量和局部变量 全局变量:定义在函数外的变量 局部变量:定义在函数内部变量 获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获 ...
- python 全局变量与局部变量 垃圾回收机制
掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分 ...
- python 全局变量与局部变量
一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ...
- PYTHON 全局变量和局部变量
#局部变量,只能调用函数体内的变量 def fun(): a = 234 print(a) #全局变量,在函数体外声明,在函数体内都可调用 b = 'gyc' def fun(): a = 234 p ...
- Python—全局变量、局部变量、匿名函数
局部变量和全局变量 college1 = 'JMU' #全局变量 def change_name(name): college1 = 'LiGong' #局部变量,此函数是其作用域 # global ...
随机推荐
- 调试 - Chrome调试
调试 - Chrome调试 打开开发人员工具 Ctrl+Shift+i可以打开开发人员工具. 功能面板 NetWork功能面板 在当前页面打开调试工具,刷新页面后点击NetWork可以查看当前页面的H ...
- Java代码操作HDFS
package com.hy.hdfs; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; imp ...
- Tomcat zabbix监控、jmx监控、zabbix_java_gateway
几种方式监控tomcat,如标题. 下面就是参考的网上的连接.自己可以试一下. 由于牵扯到jvm的很多东西, 在这里就只是粘贴处连接参考. http://www.cnblogs.com/chrisDu ...
- 第二周 数据分析之展示 Matplotlib基础绘图函数实例
Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...
- Python--map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2 ...
- FM算法(一):算法理论
主要内容: 动机 FM算法模型 FM算法VS 其他算法 一.动机 在传统的线性模型如LR中,每个特征都是独立的,如果需要考虑特征与特征直接的交互作用,可能需要人工对特征进行交叉组合:非线性SVM可 ...
- angular 2+ 变化检测系列二(检测策略)
我们将创建一个简单的MovieApp来显示有关一部电影的信息.这个应用程序将只包含两个组件:显示有关电影的信息的MovieComponent和包含执行某些操作按钮的电影引用的AppComponent. ...
- C# 调用百度地图 Web 服务 API
最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...
- html表单通过关联数组向php后台传多条数据并遍历输出
通过表单向php后台传多条数据,以关联数组方式呈现,废话不多说,代码附上: html表单代码,方式我设置为get: <form action="php/cart.php" m ...
- [Sublime]Sublime安装以及插件使用
安装直接去官网下载安装了 安装Package Control关于安装Package Control,有两种方法. 一.自动安装 自动安装很方便,网上代码很多.我用的是Sublime Text3,通过V ...