2009-12-27 6 views
0

Je viens juste de commencer à apprendre python ... donc garder avec moi s'il vous plaîtPourquoi "def InvalidArgsSpecified:" est-il une erreur de syntaxe?

Pourquoi est-il me donne une erreur de syntaxe non valide avec ce bloc de code

def InvalidArgsSpecified: 
    print ("*** Simtho Usage ***\n") 
    print ("-i Installs Local App,, include full path") 
    print ("-u Uninstalls Installed App,include ID or Name") 
    print ("-li Lists all installed Apps and their ID") 
    print ("-all Lists All Apps in Repository") 
    print ("-di Downloads and Installs App from repository, enter the title or id number") 
    print ("-dw Downloads and Installs Single App from a full link") 
    print ("-rmall Removes All Packages installed and removes Simtho itself\n") 
    print ("*** End of Simtho Usage ***") 
    sys.exit() 

modifier: Maintenant, ce disant qu'il est non défini à la ligne 9 ligne 9 est

InvalidArgsSpecified() 

Répondre

6

l'erreur de syntaxe est dans la première ligne, où vous avez:

def InvalidArgsSpecified: 

changement à:

def InvalidArgsSpecified(): 

Ces parenthèses sont obligatoires dans un def, même quand il n'y a rien entre eux (comme entre parenthèses sont toujours utilisés pour appel fonction - entre parenthèses vides, dans ce cas , si vous appelez sans arguments).

Modifier: maintenant le PO obtient une erreur pour essayer d'appeler cette fonction dans la ligne 9: puisque cette définition de fonction est plus de 9 lignes, il est probablement appelé (du module de haut niveau, plutôt qu'à partir d'un autre fonction) avant qu'il ne soit défini, auquel cas le correctif simple est de l'appeler seulement après il est défini. Si c'est quelque chose plus subtil que cela, nous devons voir le code pour déboguer pour vous -)

+0

voir l'édition ci-dessus s'il vous plaît –

+2

@Indebi, vu, et a répondu, bien que les questions-avec-plus-qu'une-question-dans-eux vont à contre-courant et le comportement normal de SO! Si vous avez une erreur, posez une question à ce sujet, corrigez l'erreur en conséquence et découvrez ainsi une nouvelle erreur complètement différente, un comportement courtois normal consisterait à accepter la réponse qui a corrigé votre erreur, et ouvrez une question distincte sur la nouvelle et erreur complètement différente. –

+0

randomgarbagetoletmecomment merci, cela a fonctionné –

2

Une fonction sans arguments doivent inclure encore entre parenthèses, par exemple:

def InvalidArgsSpecified(): 
+0

voir la modification ci-dessus s'il vous plaît –