Seite 1 von 1

Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:34
von Panice111
hallo,

ich bin noch sehr neu in python, und würde gerne wissen warum der mir ausgibt "<function zb at 0x01B50FB0>"
wenn das programm heiß:

Code: Alles auswählen

def zb():
    x100 = 1
    if x100 == 1:
        print "ja"
und wie man das beispiel programm abruft :oops: :?:

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:41
von senft
Du hast beim Aufruf wahrscheinlich die Klammern vergessen.

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:44
von Panice111
Danke :D

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:51
von jbs
Tutorial?

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:52
von Panice111
und wenn ich anstadt dem code gerade eben einfach schreibe:

Code: Alles auswählen

def zb():
    a=1
    v=1
Dan kan ich ja danach a und v nicht einfach so abrufen, der sagt mit das das nicht definiert ist, wie kan man das so abrufen das der mir dan a ausgibt???
(

Code: Alles auswählen

Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    zb(a)
NameError: name 'a' is not defined
)

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:55
von EyDu
jbs hat geschrieben:Tutorial?
Tutorial!

Das sind doch absolute Grundlagen.

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:57
von Panice111
kan's mir den nun wer beantworten? :?

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 19:58
von EyDu
Panice111 hat geschrieben:kan's mir den nun wer beantworten? :?
Natürlich

Re: Brauche hilfe bei kleinem Problem

Verfasst: Montag 5. November 2012, 21:04
von pyFan
Hallo Panice111,

einem Unterprogramm (def ...) kann man Daten übergeben.
Das sind die Variablen nach dem Unterprogrammname in Klammern.

Dann wird gerechnet...

und am Ende das Ergebnis zurückgegeben.
Damit man weiss, was zurückgegeben werden soll, steht davor "return".

Im Unterprogramm kann man auch Variablen anlegen und verändern.
Aber im allgeinen werden die Eingabewerte in der ersten Zeile übergeben (hier a und b)
und mit return geht die Antwort zurück an das aufrufende Programm...

Gruss

P

Code: Alles auswählen

# -*- coding: utf-8 -*-

def addiere(a,b):
    return a+b

def vergleiche(a,b):
    if a == b:
        return True
    else:
        return False

print addiere(3,4)
print vergleiche(1,1)

Re: Brauche hilfe bei kleinem Problem

Verfasst: Dienstag 6. November 2012, 07:53
von /me
pyFan hat geschrieben:einem Unterprogramm (def ...) kann man Daten übergeben.
Man sollte jetzt nur noch den Begriff "Unterprogramm" durch den korrekten Begriff "Funktion" ersetzen.

"Programm" impliziert ein eigenständiges in einem eigenen Prozess ablaufendes Stück Code.

Re: Brauche hilfe bei kleinem Problem

Verfasst: Dienstag 6. November 2012, 12:29
von EyDu

Code: Alles auswählen

def vergleiche(a, b):
    return a == b

Re: Brauche hilfe bei kleinem Problem

Verfasst: Dienstag 6. November 2012, 12:31
von jbs
vergleiche = __import__('operator').eq

Re: Brauche hilfe bei kleinem Problem

Verfasst: Dienstag 6. November 2012, 13:24
von mutetella
Wäre ein

Code: Alles auswählen

from operator import eq as vergleiche
nicht schöner?

mutetella

Re: Brauche hilfe bei kleinem Problem

Verfasst: Dienstag 6. November 2012, 16:33
von lunar
@mutetella Ja.