定义函数里面的叫局部变量,出了函数外面就不能用了

局部变量函数被调用时,他的变量才生效

局部变量定义在内存里面,用完就会被释放,全局变量不会释放

当有相同名的局部变量和全局变量,函数会先找自己的变量,没有的话再去找全局变量

在函数里面要修改一个全局变量的值要先声明:

global a

a+=400

当全局变量是字典、list、集合时,在函数里面修改它的值不需要global声明;

当变量是不可变类型str、int、元组(tuple)时需要声明;不能去修改里面元素的值,只能重新赋值;

#可变类型:字典、list、set
#不可类型:int、str、tuple

stus = ['xiaojun','xiaohei','xiaobai']
def add_stu():
name = input('name:')
age = input('age:')
# stus.append(name)
stu_info[name]=age

def select_stu():
name = input('name:')
print('你的学号是%s'%stus.index(name))

例如:

def test():
# global a
# a = 5
#
# def test1():
# c = a + 5
# return c
#
# test()
# res = test1()
# print(res)

当上面没有调用test()方法时,会报错,提示a未定义,调用之后,才会执行代码,a才会生效;

python全局变量的更多相关文章

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

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

  2. python全局变量、回调函数

    1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...

  3. python 全局变量的import机制

    在之前学习python设计模式(工厂模式实践篇),希望使用全局变量代替c++的宏完成服务自动注册功能时,遇到过一个问题,全局变量的定义和使用放在同一个可执行脚本中的问题.先把有问题的代码晒一下: IS ...

  4. python 全局变量的使用

    我尝试使用 类似 C 语言的方式去调用 python 的全局变量,发现不行,后经过 尝试,要使用 global 进行调用 test_num = 0; # 首先声明一个全局变量 def test_fun ...

  5. python 全局变量引用与修改

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

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

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

  7. 2 python全局变量如何指定(是在模块内,还是函数内)

    示例代码1 xx=1 def __recurrence(): # #前面的0到sentence_length-1的下标,存储的就是最原始的词向量,但是我们也要将其转变为Tensor global xx ...

  8. python——全局变量&局部变量

    >>> count = 5 >>> def function(): count = 10 print(10) >>> function() 10 ...

  9. python全局变量语句global

    在python中使用函数体外的变量,可以使用global语句 变量可以是局部域或者全局域.定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域. 在编译器理论里著名的“龙书”中,阿霍 ...

  10. Python全局变量的简单使用

    对Pyhon实现静态变量全局变量的方法详解 python不能像C++一样直接定义一个static变量或者通过extern来导入别的库的变量而实现数据共享,但是python的思想是通过模块化来解决这个问 ...

随机推荐

  1. GDscript风格指南

    (惯例感谢godot开发组~~·) 缩进 缩进类型:Tabs (编辑器默认) 缩进大小:4 (编辑器默认) 每个缩进级别必须大于包含它的代码块. 良好的: for i in range(10): pr ...

  2. 2017.11.18 手把手教你学51单片机-点亮LED

    In Doing We Learning 在操作中学习.如果只是光看教程,没有实际的操作,对编程语言的理解很空泛,所以决定从单片机中学习C语言. #include<reg52.h>     ...

  3. 解决 img 标签上下出现的间隙

    我们在平常的开发过程中,经常需要使用多张图片,而使用多张图片的时候,一般会去使用一个列表来对我们的img进行承装.就算我们把img的外边距和内边距全部清空了,但是这时会发现图片上下单会多出一定的间隙. ...

  4. Python基础(三)文件操作

    [对文件进行循环操作] fw = open('nhy','w') for line in fw: print('line:',line)   #直接循环文件对象,每次循环的时候就是取每一行的数据 fw ...

  5. PHP5.6 Dockerfile

    FROM centos COPY ["src","/src"] RUN groupadd -g 1000 www \ && useradd -u ...

  6. Docker 部署 portainer

    Docker 部署 portainer 环境: docker 版本 :18.09.1 主机地址:192.168.1.81 一.部署 porttainer 1.修改docker配置文件,开放端口. vi ...

  7. Excel提取设定的多个关键字段

    从一段文字中,提取事先设定的关键字段: 在M2单元格输入下列公式: =IFERROR(IF(FIND(O$2,Q2),O$2&" "),"")& ...

  8. 单元测试系列之六:JUnit5 技术前瞻

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6868495.html   JUnit ...

  9. 论文阅读:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning 2018-11-14 13:30:36 Paper: https://arxiv.org/abs/ ...

  10. Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别

    Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别 一.概述 在项目中遇到加载不到Spring配置文件,简单分析后,写此 ...