~~ 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.
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.
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.
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
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
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.
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
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