2009-09-30 13 views
1

En PHP, je dois passer les arguments dans le même ordre que les arguments dans le constructeur.Arguments de classe d'arguments nommés et par défaut dans Python

Maintenant, en Python, prenez

listbox = Listbox(root, yscrollcommand=scrollbar.set) 

par exemple.

Si j'avais passé yscrollcommand = scrollbar.set comme troisième argument et yscrollcommand était le deuxième argument dans le constructeur, serais-je toujours capable d'accéder à scrollbar.set depuis yscrollcommand dans le constructeur de la listbox?

Je demande cela parce que même si les arguments ne sont pas dans le même ordre, avec un signe égal, ils ont un nom.

Répondre

4

Les arguments nommés ne doivent pas être dans l'ordre.

class xyz: 
    def __init__ (self, a='1', b='2'): 
     print a,b 

xyz(b=3,a=4) 
xyz(a=5,b=6) 

>>4 3 
>>5 6 
1

Il est expliqué here.