问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python class里面的全局变量问题

发布网友 发布时间:2022-04-24 03:04

我来回答

4个回答

热心网友 时间:2022-04-06 04:15

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方法内获得的值。

热心网友 时间:2022-04-06 05:33

你在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()

热心网友 时间:2022-04-06 07:07

你在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()

热心网友 时间:2022-04-06 08:59

因为你定义oo是在self.ex(self)这个函数里,所以在这个函数被执行前,global里并没有 oo这个变量。

如果你明白这个道理就知道了怎么去打印你的oo了。

简单的说这样
t=Test()
t.ex()
t.start()
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 如何在python程序中使用os.system中调用全局变量? Python 中作用域与命名空间的问题? python中的本地变量(local variable)和全局变量(global variable)分 ... Python类里面设置全局变量有什么用吗? Python命名空间和全局变量问题,怎么解决 python中全局变量和局部变量 python 全局变量怎么用 自动化测试时需要使用python,请问如何理解python中的全局变量和局部变量... python实现跨文件全局变量的方法 求Python中全局变量的详细理解? python中局部变量和全局变量的区别 python中如何设置全局变量 python中的全局变量 如何设置咋设置页面A4纸 对全文进行页面设置,设置每行字符数为36个,每页为40行。 如何设置页面对齐 如何进行页面设置 糖果蛋糕不及你的甜这句话是什么意思 德国有一种糖果,褐色,看起来像巧克力,吃起来像软糖。最恶心的是,它是八角味的!这是什么糖哪位高人能 烘焙、糕点及糖果食用原料配料要如何买呢? Python怎么包含一个存储整型数据的全局变量x python中在哪些情况下必须使用global来声明全局变量 华为账号密码忘了怎么改? 怎么改华为账号密码 华为账号怎么修改密码? 如何修改华为帐号密码 华为账号怎样改密码 账号密码忘了,手机号也注销了怎么办,我该怎么改华为账号 华为nova7pro怎么更改华为账号密码? 华为手机怎样更改密码 华为手机忘记了密码怎么更改华为帐号 怎样可以更改自己手机华为手机的账号还有密码? 为什么华为账号密码修改后,另一台手机还能照常使用? 怎么修改华为帐号密码? 如何修改华为账户密码 0N表示关,OFF表示开吗 OFF是开是关 雷柏8130+ 鼠标开关那个字母是开 RAZER曼巴眼镜蛇底下的OFF和ON是干嘛的?我用USB充电充电时底下是关还是开开 苹果鼠标开关向上是开还是向下