Un programmeur Java a étudié Python. (for, if, while instruction)

Pourquoi avez-vous décidé d'étudier Python?

~~ Qiita Je n'ai plus de messages une fois par semaine. Tout langage de programmation inexpérimenté était bien. ~~ À propos de la semaine dernière, la nouvelle que «Python dépasse enfin Java dans le classement des langages de programmation» est devenue un sujet brûlant. À ce moment-là, j'ai regardé avec désinvolture le code source de Python, "Le format est complètement différent de Java, PHP et C # que j'ai connu jusqu'à présent ... Je ne peux pas lire ..." "Mais quand il s'agit de l'intelligence artificielle qui est populaire maintenant, Python ... Je suis intéressé et aimerais-tu étudier la syntaxe de base ..." C'est devenu. Même dans le classement des tags de Qiita, je suis toujours numéro un sur une base hebdomadaire / mensuelle, et je pensais que cela ne ferait pas de mal d'étudier.

Je pense que c'est la nième décoction, mais ~~ Qiita En raison de l'objectif de publier une fois par semaine ~~ j'ai étudié en comparant avec Java.

Environnement de vérification de fonctionnement

Hello World! Au début, "Hello World!" L'image de sortie est

Hello World!

Avec Java

HelloWorld.java


System.out.println("Hello World!");

Avec Python,

HelloWorld.py


print("Hello world!")

~~ Je comprends que le point-virgule délimiteur (;) n'est pas nécessaire ici. ~~ Je vous l'ai dit dans les commentaires.

Python a également un point-virgule (;), qui est utilisé lors de l'écriture de plusieurs instructions sur une ligne.

x = 10; y = 20; z = 30;
#Action ensemble ci-dessus
x, y, z = 10, 20, 30

C'est pourquoi je l'ai essayé.

HelloWorld.py


print("Hello world!");print("Hello world!!")

Résultat d'exécution

Hello world!
Hello world!!

J'ai pu écrire un point-virgule! Puisque vous m'avez tellement appris, j'ai étudié le point-virgule en Python.

En regardant le Google Python Style Guide, il semble qu'il soit écrit comme suit.

Terminez une ligne par un point-virgule et n'utilisez pas de point-virgule pour écrire deux instructions dans la même ligne.

Comme avec Java, il n'est pas permis d'écrire deux instructions sur la même ligne. De plus, il semble qu'il ne soit pas bon de terminer la ligne par un point-virgule.

En Python, je l'ai interprété comme ** "Codons sans utiliser de point-virgule" **.

En dehors de cela, les règles de style sont les mêmes que celles de Java que j'ai utilisées jusqu'à présent.

pour déclaration

Ensuite, j'ai écrit une déclaration for. L'image de sortie est

0
1
2
3
4

En Java, le code ci-dessous

ForDemo.java


for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

Essayez d'écrire en Python en l'imitant

ForDemo1.py


for i in range(0, 5):
print(i)

Exécuter!

IndentationError: expected an indented block

\(^o^)/ Recherchez ici "syntaxe Python" sur Google! (lent Jetez un œil à Résultats de la recherche en haut. Extrait de l'élément de retrait lié

En Perl et PHP, les blocs sont construits en englobant des instructions entre {...}, mais en Python, l'indentation (le nombre de caractères vides au début d'une ligne) a une signification importante, et l'indentation avec le même nombre de blancs. La phrase est considérée comme un bloc. {Omis} Les retraits utilisent généralement 4 caractères vides. Les caractères de tabulation sont considérés comme de 1 à 8 caractères vides de sorte que le retrait est un multiple de 8.

Étant donné que le retrait agit comme un bloc, il n'est pas nécessaire de le placer entre {}. Même si un débutant comme moi a écrit Python, il peut être bon que les retraits soient alignés.

Mettez donc un retrait avant print (i) dans la syntaxe qui a donné l'erreur plus tôt.

ForDemo2.py


for i in range(0, 5):
    print(i)

Quand tu cours

0
1
2
3
4

Il est sorti correctement. Vous pouvez également spécifier une chaîne de caractères après in.

ForDemo3.py


for c in 'Hello':
    print(c)

Le résultat de l'exécution est sorti un caractère par ligne,

H
e
l
l
o

La question s'est posée ici.

Et si un pour hoge dans le tableau?

Vérifions s'il faut sortir un caractère par ligne ou un mot par ligne.

ForDemo4.py


list = ['Hello', 'World']
for c in list:
    print(c)

Le résultat de l'exécution est

Hello
World

Il est apparu un mot par ligne. Ensuite, si vous écrivez une instruction for deux fois, affichera-t-elle un caractère par ligne?

ForDemo5.py


list = ['Hello', 'World']
for c1 in list:
    for c2 in c1:
        print(c2)

Le résultat de l'exécution est

H
e
l
l
o
W
o
r
l
d

si déclaration

Ensuite, à propos de l'instruction if indispensable pour le branchement conditionnel. Écrivons le code écrit en Java en python.

IfDemo1.java


String str = "blue";
if ("blue".equals(str)) {
    System.out.println("C'est un feu vert.");
} else if ("yellow".equals(str)) {
    System.out.println("C'est une lumière jaune.");
} else {
    System.out.println("C'est un feu rouge.");
}

J'écrirai l'instruction if après avoir vu divers exemples de codes.

ifDemo1.py


str = "blue"
if str == "blue":
    print("C'est un feu vert.")
elif str == "yellow":
    print("C'est une lumière jaune.")
else:
    print("C'est un feu rouge.")

Quand je l'exécute,

C'est un feu vert.

Cela fonctionnait normalement. ~~ Au début, j'ai écrit else if et j'ai eu une erreur. ~~ Que lisent les programmeurs Python elif? Quand j'écrivais, j'ai écrit Elihu en le lisant dans mon cœur. Je pense que c'est cool comme un épéiste elfe. (Bruyant

Qu'en est-il OU, ET, PAS?

L'existence de OR, AND et NOT est indispensable pour écrire des branches conditionnelles compliquées.

IfDemo2.java


int i = 0;
if (i == 0 || i < 0) {
    System.put.println("0 ou moins");
} else if (50 <= i && i <= 100) {
    System.out.println("50 ou plus et 100 ou moins");
} else if (!i == 0) {
    System.out.println("Pas 0");
}

Encore une fois, j'écrirai après avoir vu divers exemples de codes.

IfDemo2.py


i = 0
if i == 0 or i < 0:
    print("0 ou moins")
elif 50 <= i and i <= 100:
    print("50 ou plus et 100 ou moins")
elif not i == 0:
    print("Ce n'est pas 0.")

Le résultat de l'exécution est

0 ou moins

Comme je vous l'ai dit dans les commentaires, il est également possible de décrire la partie elif comme suit. Le nombre de caractères d'entrée est petit, et c'est assez bon car vous pouvez saisir les conditions de quel type de contenu en un coup d'œil.

IfDemo3.py


i = 50
if i == 0 or i < 0:
    print("0 ou moins")
elif 50 <= i <= 100::
    print("50 ou plus et 100 ou moins")
elif not i == 0:
    print("Ce n'est pas 0.")

Résultat d'exécution

50 ou plus et 100 ou moins

Deuxièmement, Python n'a pas besoin d'une définition de bloc avec {}, Je ne savais pas si je pouvais mettre l'expression conditionnelle entre (), alors je l'ai essayé.

IfDemo4.py


i = 1
if (i == 1) or (i >= 2 and i < 3):
    print("OK!")

Le résultat de l'exécution est

OK!

J'ai pu ajouter (). En ce qui concerne le branchement conditionnel, il semble que la même idée que Java, telle que la hiérarchisation, puisse être appliquée.

déclaration while

Je pense que les bases du traitement des boucles sont pour les instructions et les instructions while, j'ai donc également écrit une instruction while. L'image de sortie est la même que l'instruction for,

0
1
2
3
4

Quand je l'écris en Java,

WhileDemo.java


int i = 0;
while(i < 5) {
    System.out.println(i);
    i++;
}

Écrivons-le en Python en imitant l'exemple de code.

WhileDemo1.py


i = 0
while i < 5:
    print(i)
    i++

J'ai une erreur dans i ++. Après examen, il semble que Python ne possède pas d'opérateur d'incrémentation comme i ++ (https://www.python-izm.com/tips/increment/). Au lieu de cela, il utilise une méthode appelée ** substitution cumulative ** comme indiqué ci-dessous.

WhileDemo2.py


i = 0
while i < 5:
    print(i)
    i += 1

Le résultat de l'exécution est comme prévu

0
1
2
3
4

Puisqu'il n'y a pas d'incrément, il semble qu'il n'y ait pas de décrément. Le décrément est dans le même format que l'incrément,

WhileDemo3.py


i = 4
while 0 <= i:
    print(i)
    i -= 1

Résultat d'exécution

4
3
2
1
0

Impressions d'essayer

Puisqu'il n'est pas inclus dans {}, il n'y a pas de ligne avec seulement}. Le nombre de lignes de code source est donc assez petit. De l'impression que sinon si est écrit comme elif, je pense que le nombre de caractères d'entrée est également petit. Avec cela, non seulement l'apprentissage automatique, mais aussi des applications Web et des jeux peuvent être créés, il y a donc une demande!

Cependant, je ne suis pas habitué au fait que le point-virgule délimiteur (;) n'est pas nécessaire. J'ajouterai un point-virgule avec l'élan.

「PYPL PopularitY of Programming Language」, Si vous regardez correctement le résultat, La baisse de PHP est si grande que je pense qu'il vaut mieux jeter PHP et passer à Python. Je suis très inquiet car je n'ai aucune idée de ce que sera l'avenir de Java.

Je n'ai rien que je souhaite faire spécifiquement en utilisant Python, alors je me demande si je vais continuer à étudier Python ...

Recommended Posts

Un programmeur Java a étudié Python. (for, if, while instruction)
Un programmeur Java a étudié Python. (À propos du type)
Un programmeur Java a étudié Python. (À propos des fonctions (méthodes))
Un programmeur Java a étudié Python. (À propos des décorateurs)
[Super Basic] Comparez Python, Java et JavaScript (variables, instructions if, instructions while, pour les instructions)
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Instruction Python if
[Python] instruction if
Bases de Python ② pour déclaration
Instruction if de base Python
[Python] pour une erreur d'instruction
Liste Python, pour instruction, dictionnaire
[Python / PyQ] 4. liste, pour instruction
Introduction à Python pour, pendant
[Python] Traitement itératif (for, while)
Comment définir plusieurs variables dans une instruction Python for
Tourner un tableau de chaînes avec une instruction for (Python3)
[Python] Qu'est-ce qu'une instruction with?
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Python pour la déclaration ~ Qu'est-ce qui est itérable ~
[python] Utilisation correcte de l'instruction if
[Python] Quatre-vingt-dix-neuf tables utilisant des instructions for
[Python] Opération de fichier utilisant l'instruction if
[Introduction à Udemy Python3 + Application] 47. Traitez le dictionnaire avec une instruction for
[Python of Hikari-] Chapitre 05-09 Syntaxe de contrôle (utilisation correcte des instructions for et while)
Une note utile lors de l'utilisation de Python après une longue période
[Introduction à l'application Udemy Python3 +] 33. instruction if
Créons un environnement virtuel pour Python
Changer la liste dans l'instruction for
[Mac] Création d'un environnement virtuel pour Python
Qt pour l'application de bureau de l'application Python
Obtenez un jeton pour conoha avec python
Un outil pour saisir facilement du code Python
Créer un environnement de développement Python pour le développement de l'IA
Un manuel pour les débutants réalisé par des débutants Python
Transformez plusieurs listes avec l'instruction for en même temps en Python
déclaration while
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[Python, Scala] Faites un tutoriel pour Apache Spark
J'ai créé un fichier de dictionnaire python pour Neocomplete
Bases de Python (variables, types, opérateurs, instructions if, pour les instructions)
Obtenez un billet pour un parc à thème avec python
Créer un LINE BOT avec Minette pour Python
J'ai écrit une classe en Python3 et Java
Procédure de création d'un LineBot réalisé avec Python
Python avec Progate (dictionnaire, instruction while, break, continue)
Pourquoi je suis une boutique Java et démarre Python
[Introduction à l'application Udemy Python3 +] 40. Instruction while else
Python: préparez un sérialiseur pour l'instance de classe:
[Mise à jour] Aide-mémoire de la syntaxe Python pour la boutique Java
Comment écrire une instruction ShellScript Bash for
[Introduction à l'application Udemy Python3 +] 43. instruction for else
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Notes sur la création d'un environnement python par les débutants
Faisons un module pour Python en utilisant SWIG
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for