Hirdetés

Új hozzászólás Aktív témák

  • cousin333
    addikt

    De nem működik, vagy én csinálok valamit rosszul. Azt értem, hogy mire való. Viszont próbáltam shell-ben pár parancsot, és nem megy egyik sem.
    De azt hiszem így egyszerűbb, ha mutatok példákat:

    Ez működik:
    >>> def xecs(x):
    return x

    >>> print (xecs(2))
    2

    Ezek meg nem. De miért nem?
    >>> x=1
    >>> return x
    SyntaxError: 'return' outside function

    >>> x=1
    >>> a= return x
    SyntaxError: invalid syntax

    >>> x=1
    >>> print (return x)
    SyntaxError: invalid syntax

    A return - mint a neve is mutatja - egy függvényhívásból tér vissza egy értékkel. Ahhoz, hogy visszatérhess, előbb értelemszerűen "el kell menni", tehát egy függvényt kell hívni. Abban lehet a return. Az első példádban egy függvényt hoztál létre a def utasítással (vagy mi ennek a szabatos neve) ami visszatér a beírt számmal. Ha meghívod, pontosan ez történik.

    A többi példádban nincs függvény, csak egyedi utasítások. Egyszerűen nincs miből visszatérni, így a return értelmetlenné válik és hibát dob.

    A return tehát a függvény kimeneti értékével tér vissza, nem pedig egy változó értékével, mint az utolsó példádban. Az az alábbi módon lenne helyes, mert a print függvény maga is visszatér egy konzolra írt üzenettel, ami itt maga az x:
    >>> x=1
    >>> print (x)
    1

    Mivel ez a konzol, még a print sem kell, ez is működik:
    >>> x=1
    >>> x
    1

Új hozzászólás Aktív témák