Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
			
		
		
			
				
																			
								anonym44  											 
									
						
		
						
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 08:10  
			
			
			
									Hallo Cracks,
ich habe folgendes Problem:
 
def func_print(p): 
    print p 
 
def func(p): 
    func_print(p) 
 
### 
para1 = dict('id' : 1)  
func(para1) 
Ausgabe:
{'id' : 1}
funktioniert einwandfrei.
folgender QC aber nicht:
 
def func_print(p): 
    print p 
 
def func(p): 
    func_print(p) 
 
 
### 
para1 = dict('id' : [1, 2])  
func(para1)
Ausgabe:
None
 :K
 
            
			
													
					Zuletzt geändert von anonym44  am Montag 9. Mai 2016, 08:19, insgesamt 3-mal geändert.
									
			
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
								/me 											 
						User 			
		Beiträge:  3561  		Registriert:  Donnerstag 25. Juni 2009, 14:40 		
		
											Wohnort:  Bonn 
							
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 08:15  
			
			
			
									Amerika_befreie_uns hat geschrieben: Code: Alles auswählen 
para1 = dict('id' : 1) 
def func(para1):
    print para1 #('id' : 1)
funktioniert einwandfrei.
In welcher Programmiersprache? Schon die erste Zeile sollte dir in Python einen Syntax Error liefern.
 
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								sebastian0202 											 
						User 			
		Beiträge:  168  		Registriert:  Montag 9. Mai 2016, 09:14 		
		
											Wohnort:  Berlin 
							
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 09:26  
			
			
			
									Vielleicht hat er ja eine Funktion Namens dict geschrieben, welche ohne return Wert arbeitet. 
Dann wäre alles Korrekt.
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								__deets__ 											 
						User 			
		Beiträge:  14545  		Registriert:  Mittwoch 14. Oktober 2015, 14:29 		
		
						
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 10:41  
			
			
			
									Nein, waere es nicht. Frei stehende Paare mit Doppelpunkt gibt es nicht.
Code: Alles auswählen 
>>> def foo(*args):
...     pass
...
>>> foo(a:10)
  File "<stdin>", line 1
    foo(a:10)
         ^
SyntaxError: invalid syntax
 
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								sebastian0202 											 
						User 			
		Beiträge:  168  		Registriert:  Montag 9. Mai 2016, 09:14 		
		
											Wohnort:  Berlin 
							
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 11:25  
			
			
			
									Den Doppelpunkt hab ich total außer Acht gelassen. Stimmt natürlich. 
 
Wieso meckert er die Variable a bei dir nicht an? 
Demnach ist das ja kein Syntaxfehler und tritt erst zur Laufzeit auf? 
Oder geht der Parser die Zeile von hinten nach vorne durch? 
 
 
 
 
@Threadersteller: 
### 
para1 = dict({ 'id': [1, 2]} ) 
func(para1)
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								BlackJack  											 
									
						
		
						
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 11:35  
			
			
			
									@sebastian0202: __deets__ hat keinen Modulquelltext gezeigt, sondern die Ein- und Ausgaben in einer Python-Shell.  Da geht der Compiler nicht erst über alle Eingaben.  Kann er ja auch gar nicht, denn er kann ja nicht in die Zukunft schauen was als nächstes eingegeben wird.
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								sebastian0202 											 
						User 			
		Beiträge:  168  		Registriert:  Montag 9. Mai 2016, 09:14 		
		
											Wohnort:  Berlin 
							
						
		 
		
						
																			
							
						
																	  Montag 9. Mai 2016, 11:41  
			
			
			
									Ja, konnte das eben nachvollziehen. Der Syntaxfehler ploppt eben vor dem NameError auf.  
Ist ja auch verständlich.
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								anonym44  											 
									
						
		
						
						
		 
		
						
																			
							
						
																	  Montag 16. Mai 2016, 08:42  
			
			
			
									Habe mich leicht verschrieben:
mit dict ist {} gemeint.
ich habe folgendes Problem:
 
def func_print(p): 
    print p 
 
def func(p): 
    func_print(p) 
 
### 
para1 = {'id' : 1} 
func(para1) 
Ausgabe:
{'id' : 1}
funktioniert einwandfrei.
folgender QC aber nicht:
 
def func_print(p): 
    print p 
 
def func(p): 
    func_print(p) 
 
 
### 
para1 = {'id' : [1, 2]} 
func(para1)
Ausgabe:
None
 :K
 
            
			
									
						
										
						 
		 
				
		
		 
	 
	
			
		
		
			
				
																			
								Sirius3 											 
						User 			
		Beiträge:  18319  		Registriert:  Sonntag 21. Oktober 2012, 17:20 		
		
						
						
		 
		
						
																			
							
						
																	  Montag 16. Mai 2016, 08:48  
			
			
			
									@Amerika_befreie_uns: Du hast irgendetwas anderes gemacht. Hier funktionierts:
Code: Alles auswählen 
>>> def func_print(p):
...     print p
... 
>>> def func(p):
...     func_print(p)
... 
>>> para1 = {'id' : [1, 2]}
>>> func(para1)
{'id': [1, 2]}