hallo miteinander
in der programmwelt kommt das implizit und explizit sehr häufig vor. Könnte mir bitte jemand erklären, was für eine Bedeutung es in Python hat....
Gruss kostonstyle
implizit und explizit
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Keine Besondere. Explizit == ausdruecklich, implizit ist das Gegenteil.
Das kann dir ein Woerterbuch aber bestimmt besser erklaeren.
Wenn du einen konkreten Fall hast, kannst du den aber hier ruhig posten, dann kann man den durchgehen.
Das kann dir ein Woerterbuch aber bestimmt besser erklaeren.
Wenn du einen konkreten Fall hast, kannst du den aber hier ruhig posten, dann kann man den durchgehen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
ok vielen dank, wenn ich ein konkretes Beispiel habe, werde ich hier aufführen.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
In Programmiersprachen wird das Wort "Explizit" gerne verwendet, wenn es darum geht, Code verständlicher zu schreiben.
Explizit: Man sieht auf den ersten Blick, was hier passiert. Es gibt keine Unerwarteten Nebeneffekte. Jemand, der den Code nicht selbst geschrieben hat, könnte ihn trotzdem auch ohne Dokumentation oder Kommentare verstehen. Der Code ist nachvollziehbar und seine Funktionsweise sichtbar.
Implizit: Das Gegenteil von Explizit.
Übertriebenes Beispiel:
Das zweite Beispiel verwendet einige Effekte, die nicht offensichtlich sind.
Explizit: Man sieht auf den ersten Blick, was hier passiert. Es gibt keine Unerwarteten Nebeneffekte. Jemand, der den Code nicht selbst geschrieben hat, könnte ihn trotzdem auch ohne Dokumentation oder Kommentare verstehen. Der Code ist nachvollziehbar und seine Funktionsweise sichtbar.
Implizit: Das Gegenteil von Explizit.
Übertriebenes Beispiel:
Code: Alles auswählen
mydict = dict(x=5, y=10)
for key in mydict.keys():
print "Key: %s, value: %d" % (key, mydict.get(key))
a = {'x':5, 'y':10}
for x in a:
print "Key:", x + ", value:", a[x]
Bottle: Micro Web Framework + Development Blog
Was im Kontext mit explizit und implizit auch hier im Forum immer wieder aufkommt ist der Wunsch self nicht mehr explizit angeben zu müssen...
anstatt:
dies schreiben zu dürfen:
Da import this aber sagt "Explicit is better than implicit." haben Pythonverteidiger eine super Begründung parat
Es gibt auch technische Gründe aber konzeptionelle reichen mir zum Beispiel schon. Hauptsache man bleibt konsequent.
anstatt:
Code: Alles auswählen
class X:
def __init__(self):
self.x = 1
Code: Alles auswählen
class X:
def __init__():
self.x = 1
Es gibt auch technische Gründe aber konzeptionelle reichen mir zum Beispiel schon. Hauptsache man bleibt konsequent.
Etwas explizit zu machen heißt natürlich nicht automatisch, dass es dadurch verständlicher wird. Das ist häufig der Wunsch, aber man kann auch dadurch in Implementationsdetails ersticken, vor denen als Wald man die Bäume nicht mehr sieht. Daher kann man einfach nur sagen, dass explizit eben ausdrücklich oder ausführlich heißt. Nicht mehr, nicht weniger.Defnull hat geschrieben:In Programmiersprachen wird das Wort "Explizit" gerne verwendet, wenn es darum geht, Code verständlicher zu schreiben.
Das man in Java z.B. jede Schleife explizit hinschreiben muss und keine map()-, filter()- oder reduce()-Funktionen geschweige denn List-Comprehension hat, macht diese Schleifen weniger lesbar.
Stefan