1楼:
从cmd开始的地方全部缩进试试
2楼:匿名用户
这里不需要把变量设置成global的,另外打印这么多行是因为你每读取一行就会写一行,而你的if语句并不是每一行都能满足。
python命名空间和全局变量问题,怎么解决
3楼:匿名用户
当一行**要使用变量 x 的值时,python 会到所有可用的名字空间去查找变量,按照如下顺序:
1、局部命名空间:特指当前函数或类的方法。如果函数定义了一个局部变量 x,或一个参数 x,python 将使用它,然后停止搜索。
2、全局命名空间:特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,python 将使用它然后停止搜索。
3、内置命名空间:对每个模块都是全局的。作为最后的尝试,python 将假设 x 是内置函数或变量。
4、如果 python 在这些名字空间找不到 x,它将放弃查找并引发一个 nameerror 异常,如,nameerror: name 'aa' is not defined。
嵌套函数的情况:
1、先在当前 (嵌套的或 lambda) 函数的命名空间中搜索
2、然后是在父函数的命名空间中搜索
3、接着是模块命名空间中搜索
4、最后在内置命名空间中搜索
python中多线程调用全局变量,值不是修改后的值
4楼:莫安綺
多线程读取全局变量需要引用线程锁,否则多个线程同时读取同一个全局变量会出现和预期不一样的值
python一个模块怎样修改另一个模块定义的全局变量值?
5楼:du瓶邪
(1)import 模块
模块.变量名
(2)from 模块 import 变量名,这样可以直接使用不过不太应用后面的那种,可能会出现重名的变量,无法分辨.
6楼:匿名用户
调用b中get_a():
global a
a=2return a
python局部变量和全局变量问题
7楼:大话残剑
global语句声明后,指定的变量被认为是函数外的。后面的所有操作都是在操作函数外的那个变量,虽然你是在函数内操作的。
虽然python提供了这个功能,但是应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在**定义的。
deffunc():
globalx
print'xis',x
x=2
print'changedlocalxto',xx=50
func()
print'valueofxis',x执行结果是这样的
x is 50
changed global x to 2value of x is 2
python中使用线程,使用全局变量的值控制线程中if语句执行是if还是else.可
8楼:匿名用户
应该没问题把,如果你不再线程中改这个值的话。
把你的案例**贴出来看看
python class里面的全局变量问题
9楼:匿名用户
你在ex里面定义的oo,所以你得先执行过ex之后才能执行start。
classtest:
def__init__(self,name='testa'):
self.x='age'
self.name=name
self.ex()#加上这个
self.start()
defex(self):
globaloo
oo='thisistest'
defstart(self):
printoo
t=test()
如果不适用全局变量的话,你可以self.oo:
classtest:
def__init__(self,name='testa'):
self.x='age'
self.name=name
self.ex()
self.start()
defex(self):
self.oo='thisistest'
defstart(self):
printself.oo
t=test()
10楼:匿名用户
因为你定义oo是在self.ex(self)这个函数里,所以在这个函数被执行前,global里并没有 oo这个变量。
如果你明白这个道理就知道了怎么去打印你的oo了。
简单的说这样
t=test()
t.ex()
t.start()
11楼:匿名用户
classtest:
def__init__(self,name='testa'):
self.x='age'
self.name=name
self.oo="thisistest"
self.start()
defex(self):
oo='thisistest'
defstart(self):
printoo
test()
python的class里全局变量有时不能被调用
12楼:育知同创教育
你在ex里面定义的oo,所以你得先执行过ex之后才能执行start。
class test: def __init__(self,name='testa'): self.
x = 'age' self.name = name self.ex() #加上这个 self.
start() def ex(self): global oo oo = 'this is test' def start(self): print oo t=test()
如果不适用全局变量的话,你可以self.oo:
class test: def __init__(self,name='testa'): self.
x = 'age' self.name = name self.ex() self.
start() def ex(self): self.oo = 'this is test' def start(self):
print self.oo t=test()
python 中全局变量问题
13楼:常山英豪
看你的**,我猜测你这个是一个暴力破解密码的**片段吧。
page没有赋值就直接使用,当然不行。把**修改为这样defdo_login(uid,passwd):
...#你的**不变
returnpage
page=""
i=0
whilepage.find(‘you’)>-1:
print'success'
else:
uid=201270201049
passwd=10000+i
page=do_login(uid,passwd)i=i+1
14楼:匿名用户
do_login1=
^这是什么……