python中在类之间传递变量
我有以下代码:python中在类之间传递变量,python,Python,我有以下代码: class VM(): def __init__(self): global vmitems,vmappid vmitems = {'url' : 'stuff','vmid' : '10'} def create(self, **vmitems): appurl = vmitems.get('url') vmappid = vmitems.get('vmid')
class VM():
def __init__(self):
global vmitems,vmappid
vmitems = {'url' : 'stuff','vmid' : '10'}
def create(self, **vmitems):
appurl = vmitems.get('url')
vmappid = vmitems.get('vmid')
vmitems.update(vmid=vmappid)
vmitems.update(url=appurl)
print 'New URL: '+appurl
print 'New ID: '+vmappid
print 'NEW LIST: ',vmitems
return vmitems
def delete(self, **vmitems):
appurl = vmitems.get('url')
vmappid = vmitems.get('vmid')
print 'do stuff'
action = VM()
action.create(url='https://www.google.com', vmid='20')
action.delete(url='urlhere',vmid='20')
print 'New List: ',vmitems
我想知道是否有人能告诉我如何将vmitems
的值传递给其他类/函数
更新:更正。问题是并没有使用self,也并没有传递它们(很抱歉,仍然在学习,而且对python还是新手)
类VM():
定义初始化(自):
self.vmitems={'url':'stuff','vmid':'10'}
def创建(自我,**vmitems):
打印“原件:”,self.vmitems
appurl=vmitems.get('url')
vmappid=vmitems.get('vmid')
self.vmitems.update(vmid=vmappid)
self.vmitems.update(url=appurl)
打印“新URL:”+appurl
打印“新ID:”+vmappid
打印“新列表:”,vmitems
返回self.vmitems
def删除(自我):
打印“删除前:”,self.vmitems
self.vmitems.update(vmid='30')
self.vmitems.update(url='newurl')
返回self.vmitems
def shownow(自我):
打印“删除后:”,self.vmitems
我建议您在代码中使用一种不同的方法,它需要一些更改,但我认为它会更易于使用 如果是针对类内的方法,只需使用
self
:
class VM():
def __init__(self):
self._vmitems = {'url' : 'stuff','vmid' : '10'}
def some_func():
print self._vmitems
如果您希望其他类可以使用它,我将使用:
这里没有使用单个实例变量。我想你可能误解了课程的目的。你到底想做什么?@Andrew我有多个相互依赖的课程。举个例子。我创建了一个具有id、名称的虚拟机,然后是具有自己的id/名称的存储,该id/名称与虚拟机无关,然后是具有自己的id/名称的网络,该网络与虚拟机无关,然后将存储/网络连接到虚拟机(使用id),以便在创建存储时可以将id值传递回createVM进程。我希望这是有意义的。虚拟机->网络
class VM():
def __init__(self):
self._vmitems = {'url' : 'stuff','vmid' : '10'}
def some_func():
print self._vmitems
class VM():
def __init__(self):
self._vmitems = {'url' : 'stuff','vmid' : '10'}
@property
def get_vmitems(self):
print("Getting vmitems")
return self._vmitems