Переменные как часть вызова метода в Python - PullRequest
2 голосов
/ 19 января 2010

Я довольно новичок в программировании и создаю игру на python для моей младшей сестры.

У меня проблемы, потому что я хочу, чтобы значение переменной было частью имени метода Есть ли способ, которым это возможно?

def play_with_toy(self):
    toy = gui.buttonbox(
        msg = 'Choose a toy for your potato head to play with:',
        title = 'Choose a Toy',
        choices = self.toys)
    method_name = 'play_' + toy + '()'
    myPotatoHead.method_name

Использование Python 2.5.4 для Mac (IDLE) и easygui 0.83

Спасибо за любую помощь

Ответы [ 3 ]

3 голосов
/ 19 января 2010
method = getattr(myPotatoHead, 'play_' + toy)
method()
1 голос
/ 19 января 2010

Попробуйте это:

method = getAttr(myPotatoHead, 'play_' + toy)
method()

(извините за точки с запятой! Я весь день программировал на javascript).

1 голос
/ 19 января 2010
getattr(myPotatoHead,"play_"+toy)()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...