Python模块怎样修改另模块定义的全局变量值

2021-01-05 07:07:41 字数 5123 阅读 3804

1楼:du瓶邪

(1)import 模块

模块.变量名

(2)from 模块 import 变量名,这样可以直接使用不过不太应用后面的那种,可能会出现重名的变量,无法分辨.

2楼:匿名用户

调用b中get_a():

global a

a=2return a

python 怎么在一个模块内通过字符串调用这个模块的一个全局变量

3楼:快被玩坏掉了

class ******class:

def __init__(self):

self.abc = 1

obj = ******class()

if hasattr(obj,'abc'):

print(getattr(obj,'abc')

4楼:日time寸

不理解什么是“通过字符串调用”

5楼:匿名用户

在模块内调用全局变量只需要加global

比如说我有个全局变量a

在一个函数的内部我要打印a

def func():

global a

print a

python中如何在不同模块间共享全局变量

6楼:神犹在

除了函数内部,python的变量本身作用域就是全局的。

不同的模块互相导入时,将变量一同导入就行了,而函数内修改这些全局变量时需要先用global修饰变量名。

python中怎么定义全局变量

7楼:匿名用户

复制**

count = 0

def fuc(count):

print count

count += 1

for i in range(0, 10):

fuc(count)

复制**

结果是:

不是我们想要的结果。

解决之道一——全局变量:

复制**

global a

a = 3

def fuc():

global a

print a

a = a + 1

if __name__ == "__main__":

global a

for i in range(10):

fuc()print 'hello'

print a

复制**

结果:注意要领:

**需要全局变量,**声明一下;但是函数千万不要传参数, fuc(a)是不行的。

解决之道二——列表:

复制**

a = [3]

def fuc():

print a[0]

a[0] = a[0] + 1

if __name__ == "__main__":

global a

for i in range(10):

fuc()

print 'hello'

print a[0]

复制**

结果同上

列表可以比肩简单的实现,学习之。

8楼:唯美逛

在python中,全局变量一般有两种使用方式: 第一种:是在一个单独的模块中定义好,然后在需要使用的全局模块中将定义的全局变量模块导入。

第二种:直接在当前的模块中定义好,然后直接在本模块中通过global声明

9楼:士飞薇武钧

接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉python这个变量名不是局部的,而是

全局的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在**定义的。使用global语句可以清楚地表明python函数变量是在外面的块定义的。

python 中怎么对一个全局的图变量在函数中进行值修改 5

10楼:天蝎神经侠侣

为了帮助网友解决“python 中怎么对一个全局的图变量在”相关的问题,中国学网通过互联网对“python 中怎么对一个全局的图变量在”相关的解决方案进行了整理,用户详细问题包括::

g..比如

import ***workx as nxg=nx...graph()

定义一个全局变量

然后在定义一个函数

def xx()

global g

if ....,具体解决方案如下:

解决方案1:

global g 去掉 试试

g=nx.graph() 已经定义成全局变量

11楼:往往

去掉global g

global 实在有局部变量和全局变量重名使用的,声名成global 表明是函数外声名的那个而不是函数内哪一个

12楼:匿名用户

global g 去掉 试试

g=nx.graph() 已经定义成全局变量

13楼:匿名用户

先在函数外试一下能不能改成功。

python在if语句中调用和修改全局变量的问题

14楼:

从cmd开始的地方全部缩进试试

15楼:匿名用户

这里不需要把变量设置成global的,另外打印这么多行是因为你每读取一行就会写一行,而你的if语句并不是每一行都能满足。

python如何在一个类中访问另一个类的变量

16楼:爱笑的柯南推理

1234def aaa(): s = 5 return sprint aaa()

或者:12345def aaa(): global s s = 5aaa()print s

要在函数外

抄部访问函数的内部袭变量,要么bai使用return将其返回到

du外部,要么用global定义为全局

zhi变量。dao推荐前一种。

def只是定义函数,你还没有调用和执行该函数。此外,要在控制台输出,你可以在函数内部写上print s+3 ,然后调用函数aaa()。

或者定义一个类:

1234class aaa: s = 5b = aaa #初始化一个类的实例print b.s #当然,你也可以直接使用aaa.s

python模块内全局变量 什么时候初始化

17楼:匿名用户

脚本初加载时,python会顺序执行所有可以执行的东西。 如果是函数与类定义,它就顺序将定义放到全局表里。

这里全局变最也是一样。python从import语句开始执行,执行到这句话today 就被初始化了。

如果这个模块被其它模块import ,那个在import 的时候, today会被加载。

不过跨模块的全局变量,在python里有些古怪。要小心使用。

18楼:匿名用户

应该是在today第一次被调用时

19楼:乘绣止若淑

python进程重启后,会默认重新初始化所有变量,不需要做什么额外的操作。

如果解决了您的问题请采纳!

如果未解决请继续追问!

python 一个函数怎么使用另一个函数内的变量

20楼:一猪之哀伤一

例如一个函数内有一个变量i,怎么在函数外或另一个函数中调用或更改它。新手学习,谢谢。

******************************

不能在函数外更改某函数里的局部变量,因为每当你实例化那个函数的时候,那个函数里面的局部变量也会被重新赋值,重新定义,谈何更改呢?

这一个全部变量和局部变量的问题,如果要实现楼主说的,必须使用全局变量(类中的self):

***************=bianliang.py**********=

#coding: utf-8

i = 0 #定义一个全局变量i

def a():

'''打印出i的值

'''print i

def b():

global i

a() #调用a方法

print i #打印i

i = 1000 #重新赋值i

print i #打印i

a() #再次调用a方法

b()******************************===

%python bianliang.py00

1000

1000

这个py文件里面使用了一个全局变量i,实现了a方法和b方法共用参数i

21楼:细雨摇琴

用闭包再来看看专业的解释:闭包(closure)是词法闭包(lexical closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。

所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。

defmake_adder(addend):

defadder(augend):

returnaugend+addendreturnadder

p=make_adder(23)

q=make_adder(44)printp(100)printq(100)

运行结果:

123144

python中怎么对全局的图变量在函数中进行值修改

1楼 天蝎神经侠侣 为了帮助网友解决 python 中怎么对一个全局的图变量在 相关的问题,中国学网通过互联网对 python 中怎么对一个全局的图变量在 相关的解决方案进行了整理 用户详细问题包括 g 比如 import workx as nxg nx graph 定义一个全局变量 然后在定义一个...