<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dynamische_Typisierung</id>
	<title>Dynamische Typisierung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dynamische_Typisierung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dynamische_Typisierung&amp;action=history"/>
	<updated>2026-06-08T01:40:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Dynamische_Typisierung&amp;diff=227751&amp;oldid=prev</id>
		<title>imported&gt;Redonebird: Wikilink aus Überschrift entfernt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dynamische_Typisierung&amp;diff=227751&amp;oldid=prev"/>
		<updated>2022-10-25T04:41:17Z</updated>

		<summary type="html">&lt;p&gt;Wikilink aus Überschrift entfernt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Dynamische Typisierung&amp;#039;&amp;#039;&amp;#039; (engl. &amp;#039;&amp;#039;dynamic typing&amp;#039;&amp;#039;) bezeichnet ein Schema der [[Typisierung (Informatik)|Typisierung]] von [[Programmiersprache]]n, bei der Typ-Prüfungen (etwa des [[Datentyp]]s von Variablen) vorrangig zur Laufzeit eines [[Computerprogramm|Programms]] stattfinden. Im Gegensatz dazu wird bei der [[Statische Typisierung|statischen Typisierung]] die Typ-Prüfung bereits zum Zeitpunkt der [[Kompilierung]] durchgeführt.&lt;br /&gt;
&lt;br /&gt;
[[Skriptsprache]]n wie [[JavaScript]], [[Python (Programmiersprache)|Python]] und [[Ruby (Programmiersprache)|Ruby]] verwenden die dynamische Typisierung.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Python ===&lt;br /&gt;
Hier eine interaktive [[Python (Programmiersprache)|Python]]-Sitzung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = 1                         # a enthält durch Zuweisung eine ganze Zahl&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a += 1.0                      # addiert die Gleitkommazahl 1.0 und legt neuen Wert (mit anderem Typ) in a ab&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a.upper()                     # Scheitert: a ist keine Zeichenkette&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;stdin&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
AttributeError: &amp;#039;float&amp;#039; object has no attribute &amp;#039;upper&amp;#039;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a                             # gibt den Wert von a aus&lt;br /&gt;
2.0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = &amp;quot;jetzt ist a ein String&amp;quot;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a += 1                        # Scheitert: Inhalt von a ist jetzt ein String&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;stdin&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
TypeError: cannot concatenate &amp;#039;str&amp;#039; and &amp;#039;int&amp;#039; objects&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a.upper()&lt;br /&gt;
&amp;#039;JETZT IST A EIN STRING&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Python haben Variablen keinen Typ, lediglich die Objekte, auf welche die Variablen referenzieren. Die Fehlermeldung „has no attribute &amp;#039;upper&amp;#039; “ illustriert, dass der Python-Interpreter nicht unbedingt einen String verlangt, sondern mit einem beliebigen Objekt mit einer Methode &amp;#039;&amp;#039;upper&amp;#039;&amp;#039; zufrieden wäre (siehe [[Duck-Typing]]).&lt;br /&gt;
&lt;br /&gt;
=== Boo ===&lt;br /&gt;
Beispiel von der Projektseite&amp;lt;ref&amp;gt;{{Webarchiv|url=http://boo.codehaus.org/Part+18+-+Duck+typing |wayback=20070203042305 |text=Boo-Projektseite}}, Stand 19. April 2006, 19.52 Uhr&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line&amp;gt;&lt;br /&gt;
d as duck&lt;br /&gt;
&lt;br /&gt;
d = 5           // Derzeitig als Integer definiert.&lt;br /&gt;
print d&lt;br /&gt;
d += 10         // Es kann alles, was ein Integer kann.&lt;br /&gt;
print d&lt;br /&gt;
d = &amp;quot;Hi there&amp;quot;  // Wird zu einem String gesetzt.&lt;br /&gt;
print d&lt;br /&gt;
d = d.ToUpper() // Jetzt kann es alles, was ein String kann.&lt;br /&gt;
print d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
5&lt;br /&gt;
15&lt;br /&gt;
Hi there&lt;br /&gt;
HI THERE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Erläuterung des Beispiels ====&lt;br /&gt;
Es wird die Variable &amp;#039;&amp;#039;d&amp;#039;&amp;#039; angelegt und ihr wird der Datentyp &amp;#039;&amp;#039;duck&amp;#039;&amp;#039; zugewiesen. Dies ist kein richtiger Datentyp, sondern nur eine Art Container, der andere Datentypen annehmen kann. In der dritten Zeile wird &amp;#039;&amp;#039;d&amp;#039;&amp;#039; der Integerwert &amp;#039;&amp;#039;5&amp;#039;&amp;#039; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
In Zeile 7 wird die Zeichenkette &amp;#039;&amp;#039;Hi there&amp;#039;&amp;#039; zugewiesen. In anderen Programmiersprachen wie beispielsweise [[C-Sharp|C#]] oder [[C++]] würde dies jetzt zu einem [[Compiler]]-Fehler führen.&lt;br /&gt;
&lt;br /&gt;
Der [[Boo (Programmiersprache)|Boo]]-[[Compiler]] hingegen erkennt am Datentyp &amp;#039;&amp;#039;duck&amp;#039;&amp;#039;, dass sich der Datentyp der Variable &amp;#039;&amp;#039;d&amp;#039;&amp;#039; ändern kann.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Typisierung (Informatik)]]&lt;br /&gt;
* [[Duck-Typing]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.heise.de/developer/artikel/Programmierkonzepte-Teil-4-Dynamische-Typisierung-3082733.html Golo Roden – Programmierkonzepte, Teil 4: Dynamische Typisierung] vom 25. Januar 2016 auf [[heise online]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datentyp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
&lt;br /&gt;
[[en:Dynamic typing]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Redonebird</name></author>
	</entry>
</feed>