Bonjour,
le code suivant fonctionne mais il me semble que l'on peut faire sans eval mais je n'arrive plus à trouver la discussion où j'avais lu cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python
#coding=utf-8
 
class test():
    def callMethod(self, n):
        n = str(n)
        try:
            eval('self.method' + n + '()')
        except:
            print 'method' + n + ' does not existe.'
 
    def method1(self):
        print '1'
 
    def method2(self):
        print '2'
 
    def method3(self):
        print '3'
 
pourTester = test()
for n in range(1, 4):
    pourTester.callMethod(n)