[Mise à jour] Aide-mémoire de la syntaxe Python pour la boutique Java

J'ai récemment lancé Python. Cependant, ce que je veux faire ressortir lorsque je google, et grâce à Python 3 étant orienté objet, c'est bien parce que je peux avoir une idée, mais quand je l'écris, c'est la grammaire qui trébuche. N'est-ce pas? (Juste moi?) Quand je suis habitué à Java, je l'écris en Java, mais comment l'écrire en Python? Ce sera une sorte d'idée, alors j'espère que cela sera utile pour les gens qui pensent à des choses similaires.

C'est pourquoi j'ai écrit ceci en Java, mais je l'ai écrit en Python3. Ce n'est que le début, donc c'est peut-être un peu faux dans la façon de penser, mais c'est mignon. C'est dur. Je suis du genre à me souvenir en écrivant. Je le mettrai à jour quand j'en aurai envie.

environnement

Python 3.8 Java 8

Tutoriel officiel

https://docs.python.org/ja/3/tutorial/index.html

Test unitaire officiel

https://docs.python.org/ja/3/library/unittest.html

Cheet sheet

commentaire

Java

//Commentaire ligne par ligne
/*
 *Bloquer le commentaire
 */

Python

#commentaire

Définition de classe

Java

public class Hoge {

}

Python

class Hoge:  #Le colon est important! !!

Définition du constructeur

Java

public Hoge(){
  //Je m'initialise
} 

Python

(Ajout) Dans le cas de Python, il semble que ce soit une méthode plutôt qu'un constructeur. Il semble préférable de le considérer comme une méthode appelée depuis le constructeur

def __init__(self):
  #Je m'initialise

Génération d'instance

Java

Hoge hoge = new Hoge();

Python

hoge = Hoge()

Point de départ du traitement (dit principal)

Java

public static void main(String[] args) {
    // body of main()
}

Python

if __name__ == "__main__":
  hoge.hoge()

Je veux utiliser un autre module (classe)

Java

import jp.co.hoge.Hoge;

Python

Il existe de nombreuses façons d'écrire ...! https://nansystem.com/python-module-package-import/

Expression conditionnelle

https://docs.python.org/ja/3/tutorial/controlflow.html

Java

// a = b and b = c
if (a == b && b == c) {
  System.out.println(a)
}

// a = b or b = c
if (a == b || b == c) {
  System.out.println(a)
}
//le déni
if (!enable) {
  System.out.println(a)
}

Python

# a = b and b = c
if a = b and b = c:
  print(a)

# a = b or b = c
if a = b or b = c:
  print(a)

#le déni
if not enable:
  print(a)

Opérateur de comparaison

Les opérateurs de comparaison sont les mêmes pour Java et Python

<  <=   >   >=   ==   !=

null et aucun

Java null n'a aucun objet Python Aucun n'a aucune valeur Signifie chacun

https://www.quora.com/What-is-the-difference-between-Javas-null-and-Pythons-None

In Java, null is an instance of nothing, it is often referred as "no object" or "unknown" or "unavailable" .

In Python None is an object, denoting lack of value. This object has no methods. It needs to be treated just like any other object with respect to reference counts.

So these two are not much alike, however since Java 8 Optional has come along which is more similar to None. It is a class that encapsulates an optional value. You can view Optional as a single-value container that either contains a value or doesn't (it is empty)

À proprement parler, null et None ont des significations différentes, ils ne peuvent donc pas être utilisés de la même manière. None est proche de Optional en Java.

While the difference is nuanced, Python's None by being an object itself, helps avoid some types of programming errors such a NullPointerExceptions in Java.

Cependant, comme None est un objet, il est utile pour des choses comme le traitement gluant.

Cela semble être une histoire.

Chaîne de caractères jugement vide / nul

Python est None, pas null. https://pg-chain.com/python-null

Java

// str != null && str != ""
if (str.isEmpty()) {
  return true;
}

Python

if not str:
  return True
else
  return False

Erreur

https://docs.python.org/ja/3/tutorial/errors.html La classe par défaut est la classe Exception pour Java et Python

java

try {
  //Traitement qui déclenche une exception
} catch (Exception e) {
  e.printstacktrace();
  throw new CustomizeException();
} finally {
  //La dernière chose que tu veux faire
}

Python

try:
  //Traitement qui déclenche une exception
except Exception as e:
  print(e)

liste

https://docs.python.org/ja/3/tutorial/datastructures.html

La liste Python ressemble à une belle torsion sur les tableaux Java et ArrayList. C'est écrit comme un tableau Java. Python a également un type de tableau, qui est presque le même qu'un tableau Java. Le type de baie ne peut pas être utilisé par défaut et doit être importé.

Java

List<String> list = new ArrayList<>;

//Obtenez la longueur du tableau
list.size();

//Ajouter à la liste
list.add("lemon");

Python

l = ["John", "Bob", "Carry"]

#Obtenez le nombre d'éléments dans la liste(Utilisez la fonction len)
len(l)

#Ajouter à la liste
l.append("Mickey")

Carte → dictionnaire

Map en Java est un dict Python. https://docs.python.org/ja/3/tutorial/datastructures.html

Java

Map<String, String> map = new HashMap<>();

Python

#Ondulations{}Lors de la création avec
d = {'key1': 'aaa', 'key2': 'bbb'}

#Peut également être créé avec un constructeur
d2 = dict()
d3 = dict('k1'='aaa', 'key2'='bbb')
#Il existe de nombreuses autres façons d'écrire

Autres sites utiles de diverses manières

référence

https://qiita.com/karadaharu/items/37403e6e82ae4417d1b3 https://www.rose-hulman.edu/class/cs/csse220/200910/Resources/Python_vs_Java.html https://python.keicode.com/lang/oop-basics.php

Merci

Merci @shiracamus

Recommended Posts

[Mise à jour] Aide-mémoire de la syntaxe Python pour la boutique Java
Aide-mémoire Python (pour les expérimentés C ++)
Fiche de triche AtCoder en python (pour moi-même)
Aide-mémoire Python3 (basique)
Fiche technique PySpark [Python]
Feuille de triche de tri Python
[Python3] Entrée standard [Cheet sheet]
Fiche technique de la science des données (Python)
Fiche technique du didacticiel Python Django
Apache Beam Cheet Sheet [Python]
Différences entre la syntaxe Python et Java
Fiche technique de l'accès aux données Blender Python Mesh
Feuille de calcul du modélisateur d'optimisation mathématique (PuLP) (Python)
SublimeText2 et SublimeLinter - Vérification de la syntaxe pour Python3 -
Fiche compatible avec le code R pour les utilisateurs de Python
30/10/2016 else pour Python3> pour:
python [pour moi]
avec syntaxe (Python)
Aide-mémoire au curry
Aide-mémoire SQLite3
feuille de triche pyenv
Syntaxe de contrôle de la syntaxe Python
LeetCode Python [mise à jour]
[Pour la science des données] Aide-mémoire Oreore Jupyter [Jupyter Notebook / Lab]
Benchmarks langage C, Java, Python avec factorisation prime
Un programmeur Java a étudié Python. (for, if, while instruction)
[Python of Hikari-] Chapitre 05-05 Syntaxe de contrôle (pour instructions-boucles multiples-)