[Pour ceux qui maîtrisent d'autres langages de programmation] 10 points pour rattraper les points Python

Overview Python est bien connu comme un langage orienté objet simple et facile à apprendre. Pour ceux qui maîtrisent d'autres langages, nous avons sélectionné 10 éléments uniques de Python à notre discrétion, nous allons donc les décrire.

1. Pas besoin de saut de ligne ";"

La règle commune à de nombreux langages, "au moment du saut de ligne;", n'est pas nécessaire en Python. Cependant, comme il est reconnu comme un saut de ligne, même si le code suivant est exécuté, aucune erreur ne se produira et le comportement sera le même qu'auparavant.

>>> print("1"); print("2")
1
2

2. Le retrait représente un bloc

Dans d'autres langages, l'indentation était un élément qui rendait le code plus lisible et n'affectait pas son comportement. Cependant, Python utilise des retraits pour représenter des blocs.

if x > 0:
  print("positive") #dans l'instruction if
print("always")     #en dehors de l'instruction if

Dans le code ci-dessus, «positif» et «toujours» sont affichés lorsque x est égal ou supérieur à 0, et «toujours» est affiché dans les autres cas.

De plus, s'il n'y a pas d'indentation appropriée comme indiqué ci-dessous, ʻIndentationError: un bloc indenté attendu` se produira.

if x > 0:
print("positive")   #Une erreur d'indentation s'est produite

3. Les guillemets simples et doubles sont synonymes

En Python, il n'y a aucune différence entre eux. Les codes suivants se comportent tous de la même manière.

>>> print('single')
single
>>> print("double")
double

Si vous mettez `` '' dans la chaîne de caractères, la notation est différente.

>>> print('It\'s single') # \S'échapper avec
It's single

>>> print("It's double")  #Quotas contenus dans la chaîne
It's double

Puisqu'il n'est pas nécessaire d'unifier la notation dans le même code, il est possible de définir certaines règles telles que simple pour les mots et double pour les phrases.

s = 'single'
w = "It's a double!

4. Déclaration et type de variable

Pas besoin de spécifier «var» ou type. Vous pouvez stocker des nombres, des chaînes et des valeurs booléennes au format «nom de variable = valeur». Cependant, comme le type est déduit de la valeur, une valeur initiale est requise. Toutes les notations suivantes sont des erreurs.

#Aucune spécification de type requise
int a = 1
        ^
SyntaxError: invalid syntax


#Pas besoin d'écrire var
var a = 1
        ^
SyntaxError: invalid syntax


#Erreur même s'il n'y a pas de valeur initiale
a
NameError: name 'a' is not defined    

De plus, une valeur d'un type complètement différent peut être affectée à une variable une fois déclarée. Dans ce cas, le type de la variable change en même temps.

>>> a = 100
>>> type(a)
<class 'int'>

>>> a = "text"
>>> type(a)
<class 'str'>

>>> a = True
>>> type(a)
<class 'bool'>

5. Autres types de données fréquemment utilisés

En Python, en plus des nombres, des chaînes et des booléens, il existe des ** listes, taples, ensembles et types de dictionnaires **. Les deux sont des types de données qui stockent plusieurs données et présentent les fonctionnalités suivantes.

Nom du type de données Fonctionnalité Comment déclarer
liste(list) Aucune restriction sur l'ajout / la duplication [val1, val2, ...]
Taple(tuple) Ne pas autoriser les ajouts / mises à jour après la déclaration,Haute performance (val1, val2, ...)
ensemble(set) Ne pas autoriser les doublons de même valeur {val1, val2, ...}
Sorte de dictionnaire(dict) key-format de valeur {key1: val1, key2: val2, ...}
###Type de liste
list1 = [1,2,3]
type(list1)    # -> <class 'list'>
print(list1)   # -> [1, 2, 3]
print(list1[0] # -> 0
list1.append(4)
print(list1)   # -> [1, 2, 3, 4]

###Définir le type
set1 = {1,2,3,3}
type(set1)  # -> <class 'set'>
print(set1) # -> {1, 2, 3}
set1[0] = 9 # -> TypeError: 'set' object does not support item assignment
set1.add(4)
print(set1) # -> {1, 2, 3, 4}

###Type de taple
tuple1 = (1,2,3)
type(tuple1)  # -> <class 'tuple'>
print(tuple1) # -> (1,2,3,3)
tuple1[0] = 9 # -> TypeError: 'tuple' object does not support item assignment

###Sorte de dictionnaire
dict1 = {"a": 123, "b": 456, "c": 789}
type(dict1)  # -> <class 'dict'>
print(dict1) # -> {'a': 123, 'b': 456, 'c': 789}
dict1["d"] = 0
print(dict1) # -> {'a': 123, 'b': 456, 'c': 789, 'd': 0}

Taple est utilisé lorsque vous ne souhaitez pas modifier les valeurs ou l'ordre déclarés une seule fois, comme les valeurs statistiques, ou lorsque vous n'avez pas besoin de les modifier. Il ne submerge pas la mémoire, ce qui améliore les performances.

En outre, ceux-ci peuvent être convertis les uns aux autres. Cependant, une erreur peut se produire selon la configuration.

list1 = [1,2,3]
print(tuple(list1)) # -> (1, 2, 3)
print(set(list1))   # -> {1, 2, 3}
list2 = [["a", 123], ["b", 456], ["c", 789]]
print(dict(list2))  # -> {'a': 123, 'b': 456, 'c': 789}

6. Opération de tranche

Comme avec les types de données précédents, en Python, un type de données qui peut gérer plusieurs éléments tels que des «tableaux» dans une seule variable est appelé un ** type de séquence **. Plus précisément, ce qui suit s'applique.

Moule Interprétation
Chaîne(string) Caractères consécutifs
intervalle(range) Nombres consécutifs
Travail à temps partiel(bytes) Octets consécutifs
liste(list) Données continues,Peut gérer toutes les données
Taple(tuple) Données continues qui ne peuvent pas être ajoutées / mises à jour
ensemble(set) Données contiguës qui ne permettent pas la duplication

Pour celles-ci, des ** opérations de découpage ** qui coupent une pièce et renvoient une copie sont disponibles en Python. Lors de la spécification, spécifiez comme seq [start: stop: step]. Si aucune valeur n'est spécifiée, la valeur par défaut sera appliquée, mais toutes ne peuvent pas être non spécifiées.

argument Valeur à spécifier Défaut
start Index des points de vue découpés 0
end Index de point final de coupe Valeur égale au nombre d'éléments
step Nombre d'étapes lors de la coupe
En cas de nombre négatif, ordre inverse
1

L'index est facile à comprendre l'idée du Tutoriel Python. En d'autres termes, "** index pointe vers la limite entre les éléments, et l'extrémité gauche du premier élément est 0 **". En outre, la valeur négative de l'index spécifié négativement augmente chaque fois que l'index pointant vers le dernier caractère revient à -1, ou une version ultérieure.

 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

Sur la base de ce qui précède, utilisez comme suit.

str = "Python"
print(str[3:])   # -> "hon"
print(str[:3] )  # -> "Pyt"
print(str[::-1]) # -> "nohtyP"
print(str[::2])  # -> "Pto"

6. Points à garder à l'esprit pour les déclarations de contrôle en général

Les points généraux à garder à l'esprit sont les suivants.

--Non () n'est requis dans les expressions conditionnelles --Entrez : à la fin

Par exemple, comment utiliser l'instruction if est la suivante. Il n'y a pas de grande différence par rapport aux autres langues, mais seule la notation de ʻelif` peut être un peu spéciale.

###if déclaration
if x > 0:
  print("positive")
elif x < 0:
  print("negative")
else:
  print("zero")

7. L'instruction for peut être tournée de manière flexible en combinaison avec la séquence.

Ci-dessous, l'élément peut être tourné en spécifiant le type de séquence décrit ci-dessus.

list1 = [1,2,3]
for val in list1:
  print(val)

1
2
3

Si vous n'avez pas utilisé de variables de type séquence à l'avance, c'est pratique car vous pouvez générer une séquence de nombres consécutifs avec la fonction range.


#Commence par 0 pour un argument
for i in range(3):
  print(i)

0
1
2

#Vous pouvez changer le point de départ avec deux arguments
for i in range(1, 4):
  print(i)

1
2
3

#L'intervalle peut être modifié avec 3 arguments
for i in range(1, 8, 2): 
  print(i)

1
3
5
7

8. Le traitement qui implique la résiliation peut être simplifié avec l'instruction with

** with ** existe dans la syntaxe caractéristique de Python. Généralement, lorsque la "lecture / écriture d'un fichier" ou le "traitement de la communication" est effectué dans une autre langue, il est nécessaire de déclarer clairement le début et la fin. Cependant, en Python, en déclarant le processus de démarrage en même temps que l'instruction with, le processus de fin est automatiquement exécuté lorsque le retrait est supprimé.

Ici, la lecture / écriture d'un fichier est prise comme exemple.

#Lire le fichier
with open("read.txt", "r") as file1:
    print(file1.read())

#Ecrire un fichier
with open("write.txt", "w") as file2:
    print(file2.write())

Bien entendu, il est également possible de déclarer par imbrication comme suit.

#Ecrire le contenu lu d'un fichier dans un autre fichier
with open("reaad.txt", "r") as file1:
    with open("write.txt", "w") as file2:
        file2.write(file1.read())

9. Vous pouvez créer une fonction qui renvoie plusieurs valeurs

Tout d'abord, la définition de la fonction en python se fait en utilisant def comme suit.

def double(x):
  return x * x

print(double(10)) # -> 100

À ce stade, plusieurs valeurs de retour peuvent être spécifiées en appuyant sur ou en les séparant par des virgules. Vous pouvez les séparer par des virgules car en Python, les valeurs séparées par des virgules sont considérées comme des taples sans parenthèses. À ce stade, il est également possible de stocker ces multiples valeurs de retour dans différentes variables.

def test():
  return "a", 123, True # return ("a", 123, True)Synonyme de

print(test())           # -> ('a', 123, True)

a, b, c = test()
print(a)                # -> 'a'
print(b)                # -> 123               
 print(c)                # -> True

10. L'utilisation de la bibliothèque est une importation

En plus des fonctions intégrées qui sont disponibles par défaut, Python peut facilement utiliser diverses bibliothèques en exécutant ʻimport` comme il convient. Dans PEP8, il est souhaitable de déclarer la déclaration d'importation au début du programme et de la décrire dans l'ordre suivant.

  1. Bibliothèque standard
  2. Bibliothèque tierce
  3. Bibliothèque locale (bibliothèque autonome) Dans de nombreux cas, les groupes sont séparés par des lignes vides et le même groupe est par ordre alphabétique.
#Bibliothèque standard
import math
import os
import sys

#Bibliothèque tierce
import Requests

#Bibliothèque Homebrew
import my_package1
import my_package2

De plus, «as» et «from» sont souvent utilisés avec «import». En utilisant as, vous pouvez donner un alias au module ou à l'objet importé. Par exemple, math est souvent m et numpy est np.

import math as m
import numpy as np

print(np,array([1,2], [100,200])) # -> array([[1, 2],[100, 200]])
print(m.pi)                       # -> 3.141592653589793

from est à peu près divisé en l'un des deux types d'utilisation suivants. --à partir de <nom du module> importer <nom de l'objet> --à partir de <nom du package> importer <nom du module> Ici, étant donné que la hiérarchie de la bibliothèque a une structure de ** package> module> objet **, il s'agit d'une image d'acquisition de la hiérarchie inférieure à partir de la hiérarchie supérieure.

Grosso modo

Par exemple, si vous utilisez souvent le rapport de circonférence π, vous pouvez spécifier l'objet pi et l'importer.

from math import pi #Importer l'objet pi de la classe de mathématiques
print(pi)           #Il peut être utilisé tel quel sans spécifier de maths.

À la fin

S'il y a 10 éléments, ce sera beaucoup, mais si vous pouvez comprendre le contenu ici, ce sera comme être diplômé des débutants en Python. Après cela, si vous pouvez saisir l'utilisation unique de diverses bibliothèques à usage général, vous devriez être en mesure de coder en douceur!

Recommended Posts

[Pour ceux qui maîtrisent d'autres langages de programmation] 10 points pour rattraper les points Python
Pour ceux qui débutent en programmation mais qui ont décidé d'analyser les données avec Python
J'ai essayé d'enseigner Python à des programmeurs inexpérimentés
Premiers pas avec Processing et p5.js (pour ceux qui ont fait d'autres langues) 02
Introduction au traitement et p5.js (pour ceux qui ont fait d'autres langues) 01
Points ennuyeux pour ceux qui veulent présenter Ansible
Pour ceux qui veulent écrire Python avec vim
Pour ceux qui ne peuvent pas installer Python sur Windows XP
Créer un environnement Python pour ceux qui veulent devenir des data scientists 2016
Technique Python pour ceux qui veulent se débarrasser des débutants
Pour ceux qui ne peuvent pas exécuter Keras ou TensorFlow sur GPU avec macOS Sierra
Conseils pour ceux qui ne savent pas comment utiliser is et == en Python
Pour ceux qui veulent apprendre Excel VBA et se lancer avec Python
[Résolu] J'ai une question pour ceux qui connaissent la mécanisation de Python.
Points à garder à l'esprit lors de l'utilisation de Python pour ceux qui utilisent MATLAB
5 raisons pour lesquelles le traitement est utile pour ceux qui veulent se lancer avec Python
Grammaire de fléchettes pour ceux qui ne connaissent que Python
Pour ceux qui ont fait des outils de configuration pip
Introduction à la programmation (Python) TA Tendency pour les débutants
La première étape de l'apprentissage automatique ~ Pour ceux qui veulent essayer l'implémentation avec python ~
Construction d'environnement pour ceux qui veulent étudier Python facilement avec VSCode (pour Mac)
Pour ceux qui auraient dû installer janome correctement avec Python mais qui obtiennent une erreur
Préparation au démarrage de «Python Machine Learning Programming» (pour macOS)
Pour ceux qui obtiennent une erreur de clé: 'length_seconds' sur pytube
Comment profiter de Python sur Android !! Programmation en déplacement !!
Explication de la coopération de l'API Web Pepper Pour ceux qui n'ont aucune expérience dans le développement / la programmation d'applications Pepper