# 全局变量    如果函数的内容无 global关键字,优先读取全局变量,无法对全局变量重新赋值,
name = 'mj'
def change_name():
print('change_name',name)
change_name() change_name mj
# 但是对于可变类型,可以对内部进行操作。
name = ['mj','hm']
def change_name():
name.append('xiaoma')
print('change_name',name)
change_name()
print(name) change_name ['mj', 'hm', 'xiaoma']
['mj', 'hm', 'xiaoma']
#如果函数中有global关键字,变量本质上就是全局变量的那个变量,可读取可赋值
name = 'mj'
def change_name():
global name
print('change_name',name)
change_name()
print(name) change_name mj
mj
# 局部变量
name = 'mj'
def change_name():
name = 'love'
print('change_name',name)
change_name()
print(name) change_name love
mj # 修改全局变量 global
name = 'mj'
def change_name():
global name
name = 'love'
print('change_name',name)
change_name()
print(name) change_name love
love

为了方便识别,规定:

  全局变量用大写,基本变量用小写

NAME = ['mj','hm']
def change_name():
name = 'love'
print('change_name',name)
change_name()
print(NAME) change_name love
['mj', 'hm']
# 指定上一级变量  nonlocal
name = '中国'
def city():
name = '上海'
def shiji():
nonlocal name
name = '九亭'
shiji()
print(name) print(name)
city()
print(name) 中国
九亭
中国

py-day3 python 全局变量和局部变量的更多相关文章

  1. Python之路Python全局变量与局部变量、函数多层嵌套、函数递归

    Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...

  2. Python全局变量和局部变量

    全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问.调用函数时,所有在函数内声明的变量 ...

  3. Python 全局变量和局部变量,global 和 nonlocal关键字

    全局变量和局部变量    全局变量:定义在函数外的变量    局部变量:定义在函数内部变量    获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获 ...

  4. day15 Python全局变量和局部变量

    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变 ...

  5. Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归

    一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...

  6. python 全局变量与局部变量

    一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ...

  7. python 全局变量与局部变量 垃圾回收机制

    掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分 ...

  8. PYTHON 全局变量和局部变量

    #局部变量,只能调用函数体内的变量 def fun(): a = 234 print(a) #全局变量,在函数体外声明,在函数体内都可调用 b = 'gyc' def fun(): a = 234 p ...

  9. Python全局变量和局部变量相关知识点

    知识点一: #在函数外面定义的变量叫全局变量 num = 100 def AAA(): ''' 如果在函数中直接修改全局变量,那么会产生异常 如果真的需要修改,可以在函数中进行声明(前面加入globa ...

  10. Python—全局变量、局部变量、匿名函数

    局部变量和全局变量 college1 = 'JMU' #全局变量 def change_name(name): college1 = 'LiGong' #局部变量,此函数是其作用域 # global ...

随机推荐

  1. 误操作yum导致error: rpmdb

    error: cannot open Packages index using db5 -  (-30973) error: cannot open Packages database in /var ...

  2. JxBrowser之一:Java嵌入Chrome浏览器

    1.JxBrowser是一个让Java可以轻松集成Chrome浏览器的跨平台库:一般用于网络爬虫或者网页自动化测试等. 官方网址:https://jxbrowser.support.teamdev.c ...

  3. OAF 抛出html消息

    throw new oracle.apps.fnd.framework.OAException("<html><p style=\"color:#FF0000; ...

  4. zzw原创_解决Could not chdir to home directory /test/bdctool: Permission denied一例

    1.用命令新建一用户 adduser -d /test/bdctool  -m bdctool 2.用新用户登录,报错:Could not chdir to home directory /test/ ...

  5. input date

    https://stackoverflow.com/questions/17954966/how-to-get-rid-of-x-and-up-down-arrow-elements-of-a-inp ...

  6. 使用mint-ui中弹框组件与原生弹框阻止父页面不滑动方法

    1,使用mint-ui框架中<mt-popup></mt-popup>,在组件中加入 lockScroll="true" 阻止父页面不滑动. 2,原生弹框中 ...

  7. 3、简单了解Angular应用的启动过程

    首先,了解一下目录结构: 然后,简明扼要的说一下应用的启动过程: 1.首先找到main.ts(模块启动入口),main.ts去找到app中的根模块app.module.ts 2.根模块app.modu ...

  8. 如何使用require.js?

    最近几天在学习一个javascript库require.js,也看了一些相关的教学视频,这里推荐一下幕课网阿当老师的<阿当大话西游之Web组件>的教学视频,一整套看下来,参照视频里面的de ...

  9. python的出生

    1.语言的种类 机器语言------>汇编语言------>高级语言 高级语言按转换方式分为两类: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器 ...

  10. unity中实现场景之间加载进度条

    using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using UnityEngine.UI ...