Python 修改global 变量

今天在写一个脚本时需要定义一个全局的时间变量,但是在函数中修改后一直不能更新,发现是因为函数是有自己的namespace

last_send_time = 0

def test():
    last_send_time = 2

print last_send_time

#will print 0

#to change it.

def test():
    global last_send_time
    last_send_time = 2

print last_send_time

From: stackoverflow

Your issue is that functions create their own namespace, which means that done within the function is a different one than done in the second example. Use global done to use the first done instead of creating a new one.

def function():
    global done
    for loop:
        code
        if not comply:
            done = True

An explanation of how to use global can be found here

时间: 2024-10-16 07:45:19

Python 修改global 变量的相关文章

linux python 修改环境变量 添加自定义模块路径

举一个很简单的例子,如果你发现一个包或者模块,明明是有的,但是会发生这样的错误: >>> from algorithm import *Traceback (most recent call last):  File "<stdin>", line 1, in <module>ImportError: No module named algorithm 那么就应该是环境变量出问题了 okay,来看怎么搞 >>>>>

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

Python学习笔记 | 变量 + 引用 + 拷贝 + 作用域

在Python中,变量是没有类型的,在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没有赋值,那么Python认为这个变量没有定义(not defined). 一.变量和对象 1. 可变对象和不可变对象 在Python中,对象分为两种:可变对象和不可变对象,不可变对象包括int,float,long,str,tuple等,可变对象包括list,set,dict等.需要注意的是:这里说的不可变指的是值的不可变.对于不可变类

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 函数内变量的作用域

参考文献: Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域. 全局作用域(global):即在模块层次中定义的变量,每一个模块都是一个全局作用域.也就是说,在模块文件顶层声明的变量具有全局作用域,从外部开来,模块的全局变量就是一个模块对象的属性. 全局变量可以在函数内部访问,不能修改,修改想要修改可以用globa来装饰变量 注意:全局作用域的作用范围仅限于单个模块文件内. >>> x = 1 #定义一个变量 >&g

python基础_变量进阶

变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本

【python】环境变量的配置

在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1.首先需要在系统中注册python环境变量:假设python的安装路径为c:\python27,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为: “c:\python27;PATH;”,其中PATH为系统的默认环境变量.如图所示 2.添加成功之后,重启系统.然后打呼入开dos命令行,输入python,所有返回则配置成功,如图所示 [pytho

python操作环境变量

使用os.environ来读取和修改环境变量: import os print (os.environ["TEMP"]) mydir = "c:\\mydir" os.environ["MYDIR"] = mydir print (os.environ["MYDIR"]) pathV = os.environ["PATH"] print (pathV) os.environ["PATH"

Python -- 语法和变量

小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声.           ----纳兰容若<长相思> --------------------------------------------------------------------------------------------------- 以下个人归纳总结,献给大家和自己,嘿嘿... Python支持两种编程方式,交互式编程和脚本式编程. 前者即在python环境界面,命令行输入,通过python解释器交互编程: 后者通过脚本参数调用