Selon StackOverflow, Python est le langage de programmation Ă la croissance la plus rapide. Par exemple, l'un des rapports
Forbes indique que l'utilisation de Python a augmenté de 456%. Python est utilisé par Netflix, IBM et des milliers d'entreprises à travers le monde. N'oublions pas Dropbox. Les services de cette société sont également écrits en Python. Selon les recherches de
Dice , les connaissances dans le domaine de Python sont trÚs recherchées aujourd'hui, et
l'indice de popularité des langages de programmation suggÚre que Python est aujourd'hui le langage le plus populaire au monde. Si vous comparez Python avec d'autres langages, il s'avÚre qu'il a les points forts suivants:
- Compatible avec la grande majorité des plateformes et des systÚmes d'exploitation.
- La présence de nombreux frameworks et outils open source.
- Code facile Ă lire et Ă maintenir.
- BibliothĂšque standard fiable.
- Mécanisme de développement standard par test.

Astuces Python
Ici, je voudrais attirer votre attention sur 10 conseils utiles concernant la programmation Python. Ils sont tout Ă fait capables de vous aider dans votre travail quotidien.
â1. ConcatĂ©nation de chaĂźnes
Si vous devez concaténer une liste de chaßnes, vous pouvez le faire dans une boucle
for
, en ajoutant une ligne à la fois au résultat final. Cependant, cette approche sera trÚs inefficace, surtout si la liste est suffisamment longue. En Python, les chaßnes sont des entités immuables. Par conséquent, chaque opération de concaténation de chaßnes signifie que vous devez copier quelques lignes sur une nouvelle ligne.
Une approche plus efficace pour résoudre ce problÚme consiste à utiliser la fonction
join()
:
characters = ['p', 'y', 't', 'h', 'o', 'n'] word = "".join(characters) print(word)
â2. Utilisation de gĂ©nĂ©rateurs de listes
Les générateurs de listes sont utilisés pour créer de nouvelles listes à partir d'autres objets itérables. Puisque le générateur renvoie des listes, sa description est une expression, placée entre crochets, exécutée pour chaque élément de la liste. Cela inclut également une description de la boucle
for
qui traverse chaque élément. Les générateurs de listes peuvent accélérer le travail avec les listes car l'interpréteur Python est optimisé pour les modÚles qui sont répétés lorsque la liste est parcourue.
Par exemple, pensez à trouver les carrés des cinq premiers entiers à l'aide d'un générateur de liste:
m = [x ** 2 for x in range(5)] print(m)
Maintenant, nous trouvons les numéros qui apparaissent dans chacune des deux listes:
list_a = [1, 2, 3, 4] list_b = [2, 3, 4, 5] common_num = [a for a in list_a for b in list_b if a == b] print(common_num)
â3. ItĂ©rer sur des listes avec enumerate ()
La méthode
enumerate()
ajoute une numĂ©rotation Ă la collection itĂ©rĂ©e et renvoie un objet qui gĂ©nĂšre des paires d'Ă©lĂ©ments constituĂ©es de l'index de l'Ă©lĂ©ment et de cet Ă©lĂ©ment lui-mĂȘme.
RĂ©solvons le problĂšme classique de FizzBuzz proposĂ© lors des entretiens. Voici la condition pour cette tĂąche: «Ăcrivez un programme qui affiche une liste de nombres. Dans ce cas, au lieu de nombres qui sont des multiples de 3, le fizz est affichĂ©, au lieu des nombres qui sont des multiples de 5 - buzz, et au lieu des nombres qui sont des multiples de 3 et 5 - fizzbuzz. "
numbers = [30, 42, 28, 50, 15] for i, num in enumerate(numbers): if num % 3 == 0 and num % 5 == 0: numbers[i] = 'fizzbuzz' elif num % 3 == 0: numbers[i] = 'fizz' elif num % 5 == 0: numbers[i] = 'buzz' print(numbers)
â4. Utiliser zip () avec des listes
Supposons que vous deviez combiner plusieurs listes de la mĂȘme longueur et afficher la liste rĂ©sultante. Comme dans d'autres cas, un problĂšme similaire peut ĂȘtre rĂ©solu, pour ainsi dire, «sur le front», ou vous pouvez utiliser quelque chose comme la fonction universelle
zip()
:
countries = ['France', 'Germany', 'Canada'] capitals = ['Paris', 'Berlin', 'Ottawa'] for country, capital in zip(countries,capitals): print(country, capital)
â5. Utilisation du module itertools
Le module
itertools
Python est un ensemble d'outils pour travailler avec les itérateurs. Ce module comprend de nombreux outils pour générer différentes séquences. Ici, à titre d'exemple, considérons la méthode
itertools.combinations()
. Cette méthode est utilisée pour créer des combinaisons. Il existe également des outils pour regrouper les valeurs d'entrée.
Prenons un exemple réel pour comprendre ce qui précÚde.
Imaginez que dans un certain tournoi quatre équipes participent. Dans le tour de groupe, les matchs de chaque équipe contre chacune des autres équipes ont lieu. Votre tùche consiste à générer toutes les combinaisons possibles d'équipes qui joueront les unes contre les autres.
Jetez un Ćil au code suivant:
import itertools friends = ['Team 1', 'Team 2', 'Team 3', 'Team 4'] list(itertools.combinations(friends, r=2))
Ici, vous devez faire attention au fait que l'ordre des valeurs est sans importance. Ătant donnĂ© que les combinaisons
('Team 1', 'Team 2')
et
('Team 2', 'Team 1')
reprĂ©sentent la mĂȘme paire d'Ă©quipes, une seule d'entre elles sera incluse dans la liste finale. De mĂȘme, vous pouvez utiliser la mĂ©thode
itertools.permutations()
et d'autres méthodes de ce module. Un guide détaillé des
itertools
peut ĂȘtre trouvĂ©
ici .
â6. Utilisation des collections Python
Les collections Python sont des types de données de conteneur. En particulier, ce sont des listes, des ensembles, des tuples, des dictionnaires. Le module de
collections
fournit au développeur des types de données hautes performances qui aident à améliorer le code, le rendre plus propre et le rendre plus facile à utiliser. Ce module contient de nombreuses méthodes utiles. Ici, nous regardons la méthode
Counter()
.
Cette méthode prend un objet itérable, tel qu'une liste ou un tuple, et retourne un dictionnaire contenant des informations sur le nombre d'objets différents dans la liste en cours d'examen (Counter Dictionary). Les clés d'un tel dictionnaire sont des éléments uniques représentés dans l'objet itérable, et les valeurs sont les quantités de ces éléments.
Pour créer un objet
Counter
, vous devez passer un objet itérable (liste, par exemple) à la méthode
Counter()
:
import collections count = collections.Counter(['a','b','c','d','b','c','d','b']) print(count)
Les détails sur le module des
collections
peuvent ĂȘtre trouvĂ©s
ici .
â 7. Convertir deux listes en un dictionnaire
Supposons que nous ayons deux listes. L'un d'eux contient les noms des étudiants, et le second contient leurs notes. Comment convertir ces deux listes en dictionnaire? Si nous avons recours à la fonction
zip()
pour cela, ce problĂšme peut ĂȘtre rĂ©solu comme suit:
students = ["Peter", "Julia", "Alex"] marks = [84, 65, 77] dictionary = dict(zip(students, marks)) print(dictionary)
â8. Utilisation des fonctions du gĂ©nĂ©rateur
Les fonctions de générateur sont des fonctions qui se comportent comme des itérateurs. Ils permettent au programmeur de créer rapidement et facilement des itérateurs soignés. Prenons un exemple qui révÚle cette idée.
Supposons que nous devons trouver la somme des carrés des 100 000 000 premiers entiers commençant à 1.
Cette tĂąche semble simple. Il peut ĂȘtre rĂ©solu sans problĂšme en utilisant des gĂ©nĂ©rateurs de listes. Cependant, le problĂšme ici est la grande quantitĂ© de donnĂ©es d'entrĂ©e. Jetez un Ćil au code suivant:
import time t1 = time.clock() sum([i * i for i in range(1, 100000000)]) t2 = time.clock() time_diff = t2 - t1 print(f"It took {time_diff} Secs to execute this method")
Si nous avons besoin de trouver la somme des carrés pour un nombre encore plus grand de nombres, alors il s'avÚre que cette technique ne fonctionne pas bien pour les trouver, car il faut beaucoup de temps pour trouver une solution. Dans cette situation, les fonctions du générateur Python nous seront utiles. Dans notre cas, pour passer de l'utilisation des générateurs de liste aux fonctions de générateur, il suffit de changer les crochets de l'expression du générateur en arrondis. Nous faisons cela et trouvons le temps nécessaire pour résoudre le problÚme:
import time t1 = time.clock() sum((i * i for i in range(1, 100000000))) t2 = time.clock() time_diff = t2 - t1 print(f"It took {time_diff} Secs to execute this method")
Comme vous pouvez le voir, il faut dĂ©sormais moins de temps pour rĂ©soudre le mĂȘme problĂšme. Et avec l'augmentation des donnĂ©es d'entrĂ©e, cet effet sera encore plus perceptible.
Voici des informations sur les fonctions du générateur.
â 9. Renvoyer plusieurs valeurs d'une fonction
Python a la capacitĂ© de renvoyer plusieurs valeurs d'une fonction. Cela ne se trouve pas dans de nombreux autres langages de programmation populaires. Pour renvoyer plusieurs valeurs d'une fonction, elles doivent ĂȘtre sĂ©parĂ©es par des virgules. Sur la base de cette liste de valeurs, Python va crĂ©er un tuple et le retourner lĂ oĂč la fonction a Ă©tĂ© appelĂ©e. Voici un exemple:
def multiplication_division(num1, num2): return num1*num2, num1/num2 product, division = multiplication_division(15, 3) print("Product =", product, "Quotient =", division)
â 10. Utilisation de la fonction sorted ()
En Python, il est trÚs facile de trier certaines séquences de données à l'aide de la fonction intégrée
sorted()
, qui s'occupe de résoudre toutes les tùches associées. Cette fonction trie toutes les séquences (listes, tuples) et renvoie toujours une liste avec des éléments triés. Prenons un exemple de tri d'une liste de nombres dans l'ordre croissant:
sorted([3,5,2,1,4])
Et voici un exemple de tri d'une liste de lignes dans l'ordre décroissant:
sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True)
Résumé
Cet article a présenté 10 conseils de programmation Python utiles que vous pourriez trouver utiles dans votre travail quotidien. Nous espérons que vous trouverez parmi eux quelque chose qui vous sera bénéfique.
Chers lecteurs! Les développeurs Python expérimentés sont encouragés à parler des fonctionnalités Python utiles qu'ils utilisent réguliÚrement.
