Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen

** * Achtung Fügen Sie nacheinander hinzu, was Sie bemerkt haben **

Der Java-Shop beginnt mit der Verwendung von Python und listet die Dinge auf, die den Unterschied überrascht haben. Verlassen Sie auch die Bewältigungsmethode.

switch-Anweisung

In Python gibt es keine Switch-Syntax. Es scheint, dass wenn es keinen Schalter gibt, es mit if gemacht werden sollte. Alternativ gibt es auch eine Methode, die ein Wörterbuch verwendet.

Warum gibt es in Python keine switch- oder case-Anweisung? (Offizielle Website)

Im Wörterbuch verwendete Methode


def function_1():
    print('function_1')
def function_2():
    print('function_2')

functions = {'a': function_1, 'b': function_2}

func = functions['b']
func()

↓ Ausführungsergebnis ↓
function_1

Konstante

Python hat keine strengen Konstanten Durch die Benennung in Großbuchstaben wird es operativ wie eine Konstante behandelt. Es ist nur eine Variable, also können Sie sie natürlich ändern, wenn Sie möchten.

Schnittstelle

In Python gibt es keine Schnittstelle. Es gibt ein Konzept für abstrakte Klassen namens ABC (Abstract Base Classes), daher frage ich mich, ob es ein bestimmtes Problem gibt. Alles was Sie tun müssen, ist es zu einer abstrakten Methode zu machen.

Wie schreibe ich eine abstrakte Klasse(abctest.py)


from abc import ABC, abstractmethod

class Animal(ABC):
    @abstractmethod
    def sound(self):
        pass

class Cow(Animal):
    def sound(self):
        print("moo")

class Penguin(Animal):
    pass  #Implementiert keine abstrakten Methoden

if __name__ == "__main__":
    hanako = Cow()
    hanako.sound()

    taro = Penguin()  #Beim Instanziieren wird eine Fehlermeldung angezeigt, da ich keine abstrakte Methode implementiert habe

Ausführungsergebnis


moo
Traceback (most recent call last):
  File "abctest.py", line 19, in <module>
    taro = Penguin()
TypeError: Can't instantiate abstract class Penguin with abstract methods sound

Überlast

In Python gibt es kein Konzept der Überlastung. Verwenden Sie Standardargumenteinstellungen und Argumente variabler Länge, um beispielsweise Überladungen durchzuführen.

Ein Beispiel für einen Fehler beim Versuch einer Überlastung

Das ist nicht gut


class Farm:
    def add(self, animal):
        print(animal)
    def add(self, animal1, animal2):
        print(animal1)
        print(animal2)

if __name__ == "__main__":
    farm = Farm()
    farm.add('Dog')
    farm.add('Jersey','Holstein')

↓ Ausführungsergebnis ↓
Traceback (most recent call last):
  File "farmtest.py", line 13, in <module>
    farm.add()
TypeError: add() missing 2 required positional arguments: 'animal1' and 'animal2'

Das ist in Ordnung

class Farm:
    def add(self, animal='Chicken'):
        print(animal)

if __name__ == "__main__":
    farm = Farm()
    farm.add()
    farm.add('Dog')

↓ Ausführungsergebnis ↓
Chicken
Dog
class Farm:
    def add(self, *args):
        if len(args) == 0:
            print('blank')
        for i in args:
            print(i)

if __name__ == "__main__":
    farm = Farm()
    farm.add()
    farm.add('Dog')
    farm.add('Jersey','Holstein')

↓ Ausführungsergebnis ↓
blank
Dog
Jersey
Holstein

ApplicationContext

In Django gibt es kein Java-Servlet oder Spring-Framework, das einem Anwendungskontext entspricht, der breiter als der Sitzungsbereich ist. Benutzt du Django?

Beschriftete Pause

Es gibt keine beschriftete Unterbrechung in Python, die verwendet werden kann, wenn Sie aus einer Doppelschleife in Java herauskommen möchten. Ich benutze es nicht viel in Java, also ist es okay.

Umfang der lokalen Variablen

Python ist in der Funktion gültig. Java ist im Block gültig.

Dies ist umständlich für einen Java-Shop ...

Felddefinitionsposition

Beachten Sie, dass wenn Sie es wie eine Java-Instanzvariable schreiben, dies eine Klassenvariable in Python bedeutet! Wenn ich zuerst einen Fehler machte, war ich überrascht, dass die Bewegung unerwartet war.

class Cow:
    type = 'Holstein'  #Klassenvariable
    def __init__(self, name):
        self.name = name  #Instanzvariable
    def walk(self):
        print(self.name + 'Gehen')

hanako = Cow('Hanako')
hanako.walk()

↓ Ausführungsergebnis ↓
Hanako geht

Recommended Posts

Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Unterschiede zwischen Python- und Java-Syntax
Zusammenfassung der Unterschiede zwischen PHP und Python
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe Java und Python verglichen!
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe die Datenzuordnung zwischen ArangoDB und Java untersucht
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Unterschied zwischen Java und Python (Memo)
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Unterschied zwischen Python, Stftime und Strptime
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Ich habe versucht, die Uhrzeit und das heutige Wetter anzuzeigen
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich möchte die Natur von Python und Pip kennenlernen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit dplyr von R und pandas von Python zu vergleichen
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Ich möchte den Unterschied zwischen der for-Anweisung in der Python + numpy-Matrix und der Julia for-Anweisung auffangen
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
[Einführung in Python] Ich habe die Namenskonventionen von C # und Python verglichen.
Ich habe versucht, die Videowiedergabezeit anzuzeigen (OpenCV: Python-Version)
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Ich habe versucht, die Behandlung von Python-Ausnahmen zusammenzufassen
Ich habe versucht, PLSA in Python zu implementieren
Unterschied in der Authentizität zwischen Python und JavaScript
Unterschiede zwischen Ruby und Python im Umfang
Ich versuchte das Weckwort zu erkennen
Ich habe versucht, PLSA in Python 2 zu implementieren
Python3-Standardeingabe habe ich versucht zusammenzufassen
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe versucht, PPO in Python zu implementieren
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Verwendung von Python zip und Aufzählung
[Python] Ich habe versucht, TF-IDF stetig zu berechnen
Unterschiede in der Multithread-Verarbeitung zwischen Python und Jython
Ich habe versucht, Python zu berühren (grundlegende Syntax)
Unterschied zwischen Ruby und Python (grundlegende Syntax)
Ich habe das Python Tornado Testing Framework ausprobiert
[Python] Ich habe versucht, den Kampf zwischen Lion und Gazel mit einer super coolen Formel namens Rotoka-Volterra-Gleichung zu reproduzieren.
Ich bin mir über den Unterschied zwischen Modulen, Paketen und Bibliotheken nicht sicher und habe versucht, sie zu organisieren.
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.