我已经进入Python一段时间了,因为我仍然是初学者,我尽量保持简单。然而,我希望有一件事能做到,但不能正确。Python,使用变量作为对象“名称”
我搜索了一下,发现了几个有点类似于我的问题,但答案主要是使用eval()
和exec()
,我读到的是非常糟糕的做法。使用字典似乎是另一个经常提出的选项,但我不知道如何将其应用于我的案例。
class pthead:
def __init__(self, name, port):
self.name = name
self.port = port
def initialize(self):
ser4.write(initialization_commands) # works
(self.port).write(initialization_commands) # doesn't work
UART.setup("UART4")
ser4 = serial.Serial(port="/dev/ttyO4", baudrate=9600, timeout=0.5)
head = pthead("kop", "ser4")
head.initialize()
难道真的很难使用变量作为对象吗?(希望我的术语是正确的)?我很难相信这是不是一个普通的事情,例如,用户输入后...
我使用python 2.7(用于遗留目的)。
使用这个'head = pthead(“kop”,ser4)'它会工作。 –