如何在外部函数中调用方法
问题描述:
我需要一个reservation
函数来调用该类的相应方法。如何在外部函数中调用方法
但是,如果我必须在类之外提供用户输入,我怎样才能将该参数传递给该方法?
class Stay:
def __init__(self):
self._type_room= ''
def set_type_room (self, NewRoom):
NewRoom= select_room()
self._type_room= NewRoom
def select_room():
Newroom= input ('insert')
if NewRoom == 'Single':
print ('ok')
else:
print ('only Single')
return NewRoom
def reservation():
stay= Stay()
stay.set_type_room(NewRoom)
答
NewRoom
没有定义(不存在)的功能reservation
内或在全球范围内,所以你不能访问它。
当您通过select_room
函数重新创建它时,您不必要地将参数传递给set_type_room
。如果你想在set_type_room
是setter方法
class Stay:
def __init__(self):
self._type_room= ''
def set_type_room (self):
self._type_room = select_room()
def select_room():
Newroom= input ('insert')
if NewRoom == 'Single':
print ('ok')
else:
print ('only Single')
return NewRoom
def reservation():
stay= Stay()
stay.set_type_room()
:
所以,你可以删除的参数,你应该罚款
class Stay:
def __init__(self):
self._type_room= ''
def set_type_room (self, NewRoom):
self._type_room = NewRoom
def select_room(stay):
NewRoom = input ('insert')
if NewRoom == 'Single':
print ('ok')
else:
print ('only Single')
stay.set_type_room(NewRoom)
def reservation():
stay = Stay()
select_room(stay)
不知道什么被要求在这里。你能澄清一下代码没有做的事吗? –
如果我开始的代码告诉我“NewRoom”没有定义。 – Peter
您应该从最后一行和'set_type_room'方法的参数中移除'NewRoom'。 –