python class里面的全局变量问题
classTest:def__init__(self,name='testA'):self.x='age'self.name=nameself.start()defex(...
class Test:
def __init__(self,name='testA'):
self.x = 'age'
self.name = name
self.start()
def ex(self):
global oo
oo = 'this is test'
def start(self):
global oo
print oo
Test()
请问 如何print oo变量??另外除了使用全局变量还有没有其他方法print oo 展开
def __init__(self,name='testA'):
self.x = 'age'
self.name = name
self.start()
def ex(self):
global oo
oo = 'this is test'
def start(self):
global oo
print oo
Test()
请问 如何print oo变量??另外除了使用全局变量还有没有其他方法print oo 展开
4个回答
2013-06-09 · 知道合伙人软件行家
关注
展开全部
class Test:
def __init__(self,name='testA'):
self.x = 'age'
self.name = name
self.oo="this is test"
self.start()
def ex(self):
oo = 'this is test'
def start(self):
print oo
Test()
追问
关键是我oo变量是在 ex方法内获得的值。
展开全部
你在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()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在ex里面定义的oo,所以你得先执行过ex之后才能执行start。
12345678910111213class 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:
123456789101112class 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()
12345678910111213class 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:
123456789101112class 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()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你定义oo是在self.ex(self)这个函数里,所以在这个函数被执行前,global里并没有 oo这个变量。
如果你明白这个道理就知道了怎么去打印你的oo了。
简单的说这样
t=Test()
t.ex()
t.start()
如果你明白这个道理就知道了怎么去打印你的oo了。
简单的说这样
t=Test()
t.ex()
t.start()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询