python中global除了声明一个全局变量,还有什么作用?

a = 100

def demo1():
    a = 10
    print(a)

def demo2():
    globa a
    a = 10
    print(a)

demo1()
print(a)
demo2()
print(a)

结果为:

10
100
10
10

说明通过globa声明后,demo2中相对于对全局变量a进行了重新赋值

就是好奇,哪有功能这个单一的关键字,那globa除了声明全局变量修改作用域外,还能做什么?python数据分析的书有没有好的推荐?

原文地址:https://www.cnblogs.com/lzb888/p/11142180.html

时间: 2024-11-08 17:48:24

python中global除了声明一个全局变量,还有什么作用?的相关文章

python中global 和 nonlocal 的作用域

python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 . 一 global global关键字用来在函数或其他局部作用域中使用全局变量.但是如果不修改全局变量也可以不使用global关键字. 1 gcount = 0 2 3 def global_test(): 4 gcount+=1 5 print (gcount) 6 global_test() D:\Python34\python.exe E:/PycharmProje

安卓声明一个全局变量,每个activity都可以调用和修改

当需要一个变量,每个activity都能够调用和修改的时候,可以先创建一个类,让他继承Application,并实现一些方法就行了,下面的例子:App打开,文本显示全局变量的初始值,点击按钮,文本值改变,并更新显示. 首先创建一个类:Myapplication.java package com.example.application; import android.app.Application; public class Myapplication extends Application {

Python中通过函数对象创建全局变量

先看下面这段代码,显然无法work. 因为代码试图在TestVariableScope()中引用一个没有被定义的变量a.所以必须报错,如下图-1. 不过如果你将第2行代码注释掉.代码就能跑通了,如图-2. 问题1来了:TestVariableScope.a 不是也没有被定义吗,为什么可以work呢?解释如下:先看代码第8行,TestVariableScope.a在SetVariable方法中被定义了,SetVariable()又 在TestVariableScope()前被调用.所以TestVa

python中的编码声明

python中的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python 相当于写死了 python 路径(是告诉OS执行这个py时,调用 /usr/bin 下的 python 解释器:) #!/usr/bin/env python 会去环境设置寻找python目录,推荐这种写法(目的是为了OS防止user没有将python 装在默认的 /usr/bin 路径里.在Linux类的OS环境下有意义) 如果要在python2的py文件里

python中的构造函数和构造函数和析构函数的作用

构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间

关于python中sort排序的一个简单问题:

最近有小伙伴私聊问了一些类似的问题,就是关于python的sort排序的问题: a = [1, 0, 4, 0, 2, 3] a.sort(key=bool) print(a) 输出结果: [0, 0, 1, 4, 2, 3] 就是对这个排序的有点不太理解,为什么是[0, 0, 1, 4, 2, 3],不应该按升序来的吗?之所以产生这个误区,是因为对这个sort理解还不够,我之前也写过一篇关于sort排序的实现,里面简单的阐述原理,并且也实现了demo.我们再来回到这个问题上:a.sort(ke

计时器中qq上的一个功能,延时作用

点击qq的自己的名字,会出现一个大框,往大框中移动,大框不会消失,如果离开大框或者姓名,大框就会消失,这一功能用到display:none的效果还有就是计时器的延时功能,用到onmoseover: onmouseover 属性在鼠标指针移动到元素上时触发. 注释:onmouseover 属性不适用以下元 素:<base>.<bdo>.<br>.<head>.<html>.<iframe>.<meta>.<param&

python基础 - global关键字及全局变量的用法

python中global关键字主要作用是声明变量的作用域. 在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如: int a = 5; void test(void) { a = 1; // 没有先声明,所以用的是全局的变量a } void test1(void) { int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a } void main(void) { printf("before: a

python中的关键字global和nonlocal

知识点: global将一个变量变为全局变量 nonlocal改变最近的变量,又不是全局作用. 1.global 在python中,当引用一个变量的时候,对这个变量的搜索按找本地作用域(Local).嵌套作用域(Encolosing function locals).全局作用域(Global).内置作用域(builtins模块)的顺序来进行的,即所谓的LEGB规则. m = 1 #全局 def fun1(): m = 2 #嵌套 def fun2(): m = 3 #本地 fun2() fun1