IQ Bot Custom Logic: 5 Dinge, die Sie möglicherweise überraschen, wenn jemand, der eine andere Sprache spricht, Python zum ersten Mal berührt

Hallo.

Die benutzerdefinierte Logik von IQ Bot ist schließlich Python, daher sollte jeder, der Python schreiben kann, problemlos damit umgehen können.

Und Python soll für Anfänger einfacher einzugeben sein als Programmiersprachen wie Java und C.

Für diejenigen, die andere Programmiersprachen wie Java und C verwendet haben Ich denke, Sie können Python schneller beherrschen als jemand, der von vorne anfängt.

Da ich in einer anderen Sprache sprach, kann es einige Punkte geben, die mich überraschen: "Was? Gibt es so etwas?"

In diesem Artikel werde ich die Python-Überraschungspunkte zusammenfassen, die nur für diejenigen gelten, die sich mit anderen Sprachen befasst haben.

Keine Notwendigkeit zu kompilieren

Python ist eine dynamische Sprache, sodass Sie sie nicht kompilieren müssen, um sie auszuführen.

Sie müssen sich also nicht um das Kompilieren der benutzerdefinierten Logik von IQ Bot kümmern. Wenn Sie unmittelbar nach dem Schreiben auf "Testlauf" klicken, funktioniert dies sofort.

Eine Beschreibung der dynamischen Sprachen finden Sie unter [Wikipedia](https://ja.wikipedia.org/wiki/%E5%8B%95%E7%9A%84%E3%83%97%E3%83%AD%E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E) Bitte beziehen Sie sich darauf. ..

Sie können Variablen verwenden, ohne den Typ zu deklarieren

Python wird dynamisch eingegeben, sodass Sie den Typ der Variablen nicht deklarieren müssen.

Wenn Sie im Fall von Java den folgenden Code schreiben, Ich werde wütend auf die zweite Zeile und bekomme einen Kompilierungsfehler.

Für Java


int num = 3;       //Deklarieren Sie hier den Typ der Variablen num!
num = "Yaho";   //Ich werde wütend, wenn ich das tue

Int-Typ, dh ein Feld (= num-Variable), das besagt, dass nur Ganzzahlen gespeichert werden können. Das liegt daran, dass ich versucht habe, eine verspielte Zeichenkette (String-Typ) wie "Yaho" einzufügen.

Oh, tut mir leid, das Problem ist, dass der Typ unterschiedlich ist. Selbst wenn der Inhalt der Zeichenkette ernst ist, werde ich wütend.

Im Fall von Python funktioniert der folgende Code jedoch problemlos.

Für Python


num = 3           #Auf diese Weise wird die Variable num ohne Erlaubnis zum Typ int.
num = "Yaho"   #Hier verwandelt sich die Variable num ohne Erlaubnis in einen String-Typ ...! !!

Diese Funktion wird von einer Person mit einer schlampigen Persönlichkeit wie mir sehr geschätzt. Für diejenigen, die an gut erzogene Codierung in anderen Programmiersprachen gewöhnt sind

"Die Art der Variablen ändert sich in der Mitte" kann ziemlich überraschend sein.

Selbst in Python ist das Konzept des Typs selbst nicht verschwunden. Es hat nur eine Funktion, die das Schreiben auf der Seite der Programmiersprache dynamisch ausführt.

Eine Liste von Python-Typen, wie man Typen überprüft, wie man sie umwandelt (Typkonvertierung) usw. Es war auf der Seite von hier sehr leicht zu verstehen.

Typumwandlung wird manchmal verwendet, wenn benutzerdefinierte Logik auf IQ Bot angewendet wird.

Einzug hat praktische Bedeutung

In anderen Sprachen ist das Ausrichten von Einzügen in if-Anweisungen und -Funktionen nur eine Frage der Ausrichtung. "Best Practice zur Verbesserung der Lesbarkeit für den Menschen"

Die allgemeine Spezifikation ist, dass der Einzug keine Bedeutung für die Ausführung des Programms hat.

Mit anderen Worten, wie unten gezeigt, sagen die meisten Sprachen, dass das Programm auch dann gut funktioniert, wenn der Einzug verschmutzt ist.

Im Fall von Java ①: Es ist besser, so zu schreiben ...


class xxx
{
  public static void main (String[] args) throws java.lang.Exception
  {
    int num = 3;
    if (num % 2 == 0) 
    {
      System.out.println(num + "Ist gerade");
    }
    else {
      System.out.println(num + "Ist ungerade");
    }
  }
}

Im Fall von Java (2): Es funktioniert immer noch.


class xxx
{
public static void main (String[] args) throws java.lang.Exception
{
int num = 3;
if (num % 2 == 0) 
{
System.out.println(num + "Ist gerade");
}
else {
System.out.println(num + "Ist ungerade");
}
}
}

Python hingegen basiert auf der Idee, "sicherzustellen, dass alle Programmierer Code schreiben, der vollständig lesbar ist". Wenn Sie die Einrückungen nicht ausrichten, funktioniert der Code überhaupt nicht.

Im Fall von Python ①: Es funktioniert, wenn Sie es so schreiben ...


num = 3
if num % 2 == 0:
	print(str(num) + "Ist gerade")
else:
	print(str(num) + "Ist ungerade")

Im Fall von Python ②: Damit funktioniert es nicht


num = 3
if num % 2 == 0:
print(str(num) + "Ist gerade")
else:
print(str(num) + "Ist ungerade")

Wenn die Einrückungen nicht richtig ausgerichtet sind, wird grundsätzlich der Fehler "Einrückungsfehler" angezeigt.

Dieser Artikel, da die Einrückungsstufe falsch ist Bitte beachten Sie, dass es Fälle geben kann, in denen das Ergebnis von Ihren Erwartungen abweicht!

Einfach zu schleifen

Da es einen Artikel gab, der die Schleifenverarbeitung von Python und Java auf leicht verständliche Weise zusammenfasste, Ich werde das vorstellen.

Vergleich der grundlegenden Grammatik zwischen Java und Python

Es gibt verschiedene andere Grammatiken als die Schleifenverarbeitung. Bitte beziehen Sie sich auf diese.

Kann mit Zeichenfolgen wie mit einem Array umgehen

Für diejenigen, die ursprünglich Sprachen wie Java verwendet haben Sie können ziemlich überrascht sein, den Code unten im Link oben zu sehen.

Eine ziemlich häufige Schleife in Python


for char in 'Hello':
    print(char)

Wenn ich den obigen Vorgang durchführe, wird das folgende Ergebnis zurückgegeben ...

Verarbeitungsergebnis der obigen Schleife


>>>H
>>>e
>>>l
>>>l
>>>o

Der Grund, warum Sie dies tun können, ist, dass Sie in Python Zeichenfolgen verwenden können. Dies liegt daran, dass die Idee besteht, jedes Zeichen als Sequenz mit Elementen als Elemente zu behandeln.

Sie müssen also nicht so etwas wie Java tun, indem Sie es zuerst in Arrays aufteilen und dann eine Schleife durchführen. Die Zeichenfolge kann so wie sie ist in einer Schleife oder in Scheiben geschnitten werden (ein Prozess, bei dem die Nummer aus der Nummer der Zeichenfolge ermittelt wird).

Slices werden unerwartet verwendet (?) Auch in der benutzerdefinierten Logik von IQ Bot Ich werde den Artikel verlinken, der leicht zu verstehen war.

[Python] Zusammenfassung der Slice-Operationen

Zusammenfassung

Wie war es?

Die Punkte von Python, die diejenigen überraschen können, die in anderen Sprachen gesprochen haben, sind folgende.

Ich werde es hinzufügen, wenn ich etwas anderes finde.

Na dann!

Recommended Posts

IQ Bot Custom Logic: 5 Dinge, die Sie möglicherweise überraschen, wenn jemand, der eine andere Sprache spricht, Python zum ersten Mal berührt
IQ Bot Custom Logic (Python): Optimieren Sie Ausschlüsse in Schleifen
IQ Bot Custom Logic (Python): Optimieren Sie die Ersetzungsverarbeitung in einer Schleife
IQ Bot Custom Logic (Python): Effizienter Ersetzungsprozess in einer Schleife