day15 Python全局变量和局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
name='charon' def change_name():
print('我的名字',name) change_name() def change_name():
name='pluto'
print('我的名字',name) change_name()
print(name) def change_name():
global name
name='pluto'
print('我的名字',name) change_name()
print(name) 结果:
我的名字 charon
我的名字 pluto
charon
我的名字 pluto
pluto
能够把变量私有化的只能是函数
global关键字
name='charon' def change_name():
global name#将最外层的name='charon'拿过来了,声明name就是那个全局变量
name='pluto'#声明了修改上面拿过来的全局变量
print('我的名字',name) def change01_name():
print("我的名字",name) change_name()
change01_name() 结果:
我的名字 pluto
我的名字 pluto name='charon' def change_name():
# global name
# name='pluto'
print('我的名字',name) def change01_name():
print("我的名字",name) change_name()
change01_name() 结果:
我的名字 charon
我的名字 charon name='charon' def change_name():
global name
name='pluto'
print('我的名字',name) def change01_name():
print("我的名字",name)
change01_name()
change_name() 结果:
我的名字 charon
我的名字 pluto
规范:局部变量全小写,局部变量全大写 x
# 如果函数中有global关键字,变量本质上就是全局的那个变量
name = "刚娘" def weihou():
name = "陈卓"
def weiweihou():
nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止
name = "冷静" weiweihou()
print(name) print(name)
weihou()
print(name)
结果:
刚娘
冷静
刚娘
name = "刚娘" def weihou():
name = "陈卓"
def weiweihou():
global name #指定全局变量,name= "刚娘"
name = "冷静"
weiweihou()
print(name)#weiweihou内改变的name变量是全局的,没有改陈卓那个变量,所以weihou调用的仍然是name = "陈卓" print(name)
weihou()
print(name) 结果:
刚娘
陈卓
冷静
day15 Python全局变量和局部变量的更多相关文章
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归
一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...
- Python全局变量和局部变量
全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问.调用函数时,所有在函数内声明的变量 ...
- Python 全局变量和局部变量,global 和 nonlocal关键字
全局变量和局部变量 全局变量:定义在函数外的变量 局部变量:定义在函数内部变量 获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获 ...
- python 全局变量与局部变量
一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ...
- python 全局变量与局部变量 垃圾回收机制
掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分 ...
- PYTHON 全局变量和局部变量
#局部变量,只能调用函数体内的变量 def fun(): a = 234 print(a) #全局变量,在函数体外声明,在函数体内都可调用 b = 'gyc' def fun(): a = 234 p ...
- Python全局变量和局部变量相关知识点
知识点一: #在函数外面定义的变量叫全局变量 num = 100 def AAA(): ''' 如果在函数中直接修改全局变量,那么会产生异常 如果真的需要修改,可以在函数中进行声明(前面加入globa ...
- Python—全局变量、局部变量、匿名函数
局部变量和全局变量 college1 = 'JMU' #全局变量 def change_name(name): college1 = 'LiGong' #局部变量,此函数是其作用域 # global ...
随机推荐
- java导出excel时合并同一列中相同内容的行
一.有时候导出Excel时需要按类别导出,一大类下好几个小类,小类下又有好几个小小类,就像下图: 要实现这个也不难, 思路如下:按照大类来循环,如上就是按照张江校区.徐汇校区.临港校区三个大类循环,然 ...
- ORM作业
使用之前学到过的操作实现下面的查询操作:1. 查询平均成绩大于60分的同学的id和平均成绩:2. 查询所有同学的id.姓名.选课的数量.总成绩; 3. 查询姓“李”的老师的个数: 4. 查询没学过“李 ...
- 外边距塌陷 margin collapsing
块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距, 这种行为称为外边距塌陷(margin collapsing),有的地方翻译为外边距合并. 1.相邻的兄弟姐妹 ...
- canvas-2lineCap.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- centos7学习笔记-安装后的一些配置
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.允许普通用户使用sudo root用户下运行 visudo 在root ALL=(ALL)ALL下面添加 username ...
- Django Rest framework 之 序列化
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- 【20181031】arcgis10.6破解不成功的问题
首先需要下好正确版本的crack文件,license10.6文件夹里应该有ARCGIS.exe和service.txt两个文件,我的问题就是因为crack文件不完整,没有ARCGIS.exe文件,所以 ...
- 【代码笔记】Web-JavaScript-JavaScript注释
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Android View体系(二)实现View滑动的六种方法
1.View的滑动简介 View的滑动是Android实现自定义控件的基础,同时在开发中我们也难免会遇到View的滑动的处理.其实不管是那种滑动的方式基本思想都是类似的:当触摸事件传到View时,系统 ...
- LinkedHashMap
LinkedHashMap既是一个HashMap,也是一个链表 package java.util; import java.util.function.Consumer; import java.u ...