Schrift
[thread]1077[/thread]

strict für Python: gibts das?

Leser: 22


<< |< 1 2 3 4 >| >> 33 Einträge, 4 Seiten
pktm
 2007-05-29 21:32
#10003 #10003
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Gibt es sowas wie use stroct; auch für Python? So mit Variablendeklaration und Skopus?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2007-05-30 20:19
#10004 #10004
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Kennt sich hier keiner mit der Konkurenz aus???
http://www.intergastro-service.de (mein erstes CMS :) )
MisterL
 2007-05-30 20:29
#10005 #10005
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Ein Blick unter http://www.computerbase.de/lexikon/Python_%28Programmiersprache%29
deutet jedenfalls an, das Python hier sogar strenger als Perl ist....

Gruss MisterL
“Perl is the only language that looks the same before and after RSA encryption.”
GwenDragon
 2007-05-30 20:34
#10006 #10006
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ich dachte, dass Python das nicht braucht, da dort Variablen immer deklariert werden müssen.
Ronnie
 2007-05-30 21:16
#10007 #10007
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=GwenDragon,30.05.2007, 18:34]Ich dachte, dass Python das nicht braucht, da dort Variablen immer deklariert werden müssen.[/quote]
Nöö, nicht das ich mich erinnern würde. In Python existieren keine Variablen im klassischen Sinne. Links von der Zuweisung steht ein Symbol das an ein Objekt gebunden wird. Die meisten Objekte sind immutable - können also nicht direkt verändert werden. Es wird i.A. ein neues Objekt erzeugt und an das Symbol gebunden. Nicht mehr durch Symbole referenzierte Objekte holt sich die Garbage-Collection.
PerlProfi
 2007-05-30 22:31
#10008 #10008
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Trotzdem darf man nicht einfach Variablen benutzen, die nicht vorher definiert wurden.
Weil das sonst ein NameError ist: NameError: name '%s' is not defined

MfG
Ronnie
 2007-05-30 22:39
#10009 #10009
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=PerlProfi,30.05.2007, 20:31]Weil das sonst ein NameError ist: NameError: name '%s' is not defined[/quote]
in Python gibt es keine Sigils!
pq
 2007-05-30 22:44
#10010 #10010
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich glaub, mit dem %s war ein platzhalter für den variablennamen gemeint.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
PerlProfi
 2007-05-30 22:51
#10011 #10011
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Ja, war als Platzhalter gemeint, aber in meinem Python kann ich auch Sigils benutzen:
Code: (dl )
print 'Something: %30s +%03d%%' % (name, number)


MfG\n\n

<!--EDIT|PerlProfi|1180551144-->
Ronnie
 2007-05-30 22:52
#10012 #10012
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=pq,30.05.2007, 20:44]ich glaub, mit dem %s war ein platzhalter für den variablennamen gemeint.[/quote]
ja, sieht so aus. In Python können Variablen/Symbole nicht verwendet werden, die nicht definiert sind, eine Deklaration ist aber nicht nötig. Wie ich bereits geschrieben habe werden Symbole einfach per Zuweisung zu einem Objekt erzeugt. Symbole entsprechen eher Referenzen in Perl, auch wenn die Dereferenzierung automatisch erfolgt. Beispiel:
Code: (dl )
1
2
3
4
A = [1 , 2, 3]
B = [4, A, 5]
A[1] = 'Python'
print B
<< |< 1 2 3 4 >| >> 33 Einträge, 4 Seiten



View all threads created 2007-05-29 21:32.