Programmieren Funktionen definieren?


22.12.2023, 19:21

Kann ich immer ohne nutzung von paramter das erreichen was ich mit tue? das hier kann ich z.b so machen:

def add(x, y):

result = x + y

return result

oder so:

def add():

x = 3

y = 5

result = x + y

return result

so wie verstehe also dem bsp nach lohnen sich parameter doch nur dann wenn man was in einer funktion ändern will ohne direkten eingriff

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Also der Text ist etwas verwirrend, aber ich versuche mal darauf einzugehen.

Du schreibst eine Funktion (meistens), weil du sie einerseits wiederverwenden willst und sie spezialisiert ist, etwas bestimmtes zu tun. Sie erfüllt also eine (nützliche) (Teil-)Aufgabe.

Also in dem Beispiel unten wird die Funktion 'multiply_and_print' mehrfach verwendet. Jedes mal mit anderen Parametern. Die übergebenen Parameter werden offensichtlich dafür verwendet, etwas zu berechnen. Eine Funktion kann etwas 'Richtiges' zurückgeben (siehe 'multiply'), aber eine Funktion kann auch einfach nichts zurückgeben (siehe 'multiply_and_print'). Ich kann bei einer Funktion ohne Rückgabe trotzdem eine Zuweisung des "Ergebnisses" machen, dann ist es halt None.
Führe den Code in der IDE deiner Wahl aus (ggf. benutze auch mal den Debugger), dann siehst du wie Python sich verhält.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def multiply(a, b):
    result = a * b
    return result

def multiply_different(a, b) -> int:
    result = a * b
    return int(result)

def multiply_and_print(a, b):
    result = multiply(a, b)
    print("Result is: ", result)

def multiply_and_print_bit_different(a, b) -> None:
    result = multiply_different(a, b)
    print("Result is: ", result)

if __name__ == '__main__':
    multiply_and_print(2, 9)
    it_is_none_here = multiply_and_print(6, 3)
    it_is_none = multiply_and_print_bit_different(1, 18.1)
    print("Is it none here? ", it_is_none_here is None)
    print("Is it none? ", it_is_none is None)
kabik334 
Fragesteller
 22.12.2023, 19:09

Wie genau würdes du also Parameter definieren ? Am besten in ich sag mal einfacher spracher

0
Panguan  22.12.2023, 19:20
@kabik334

Aus Sicht einer Funktion: Ein Parameter ist die Variable, die innerhalb der Klammern in der Funktionsdefinition festgelegt wurde. Das Argument ist der konkrete Wert, der an die Funktion übergeben wird, wenn sie aufgerufen wird.

1

Zuerst musst du dir Gedanken machen, welche Aufgabe die Funktion erfüllen soll.
Nicht jede Funktion gibt Funktionswerte zurück. Da steht dann "void" = nichts.
Es gibt auch Funktionen ohne Parameter, die z. B. die Uhrzeit in einem gewünschen Format anzeigen oder eine Zufallszahl zurückgeben.
Die Möglichkeiten für Parameter sind sehr vielfältig.
Sie können als Wert übergeben werden oder als Objektverweis, also die Adresse wo im Speicher, das Objekt liegt.
Dann ist es der Funktion auch möglich, das Objekt direkt zu verändern.

Python Funktionen - LernenPython.com

ich bin jetzt auch nicht der mega entwickler aber...

parameter sind die variablen die werte speichern können.

rückgabewerte sind die art der werte die parameter zurückgeben können.

z.B. boolean true, false

funktionen sind ausführbare definitionen von code

ich kann dir aber nicht sagen ob das stimmt was ich hier geschrieben habe. Zumindest macht es so für mich Sinn