Maison > développement back-end > Tutoriel Python > Partagez dix choses à noter lors du développement de Python

Partagez dix choses à noter lors du développement de Python

高洛峰
Libérer: 2017-03-28 15:50:09
original
1498 Les gens l'ont consulté

Qu'il s'agisse de développement python ou de développement de tout autre langage, si nous pouvons maîtriser quelques conseils et techniques utiles pendant le développement, cela améliorera certainement considérablement notre efficacité de développement. Aujourd'hui, l'éditeur et tout le monde Quoi. Je partage quelques erreurs courantes que les débutants commettent souvent lors de l'apprentissage du langage dans le développement Python. Jetons un coup d'œil.

">

Remarque : cet article suppose que nous utilisons tous Python 3

1. Compréhension de liste

Vous avez un list: bag = [1, 2, 3, 4, 5]

Maintenant, vous voulez doubler tous les éléments pour que cela ressemble à ceci : [2, 4, 6, 8, 10]

La plupart des débutants le feront probablement ainsi en fonction de leur expérience linguistique antérieure

bag = [1, 2, 3, 4, 5] 
for i in range(len(bag)): 
 bag[i] = bag[i] * 2
Copier après la connexion

Mais il existe une meilleure façon :

bag = [elem * 2 for elem in bag]
Copier après la connexion

Très simple, non ? C'est ce qu'on appelle la compréhension de liste de Python.

2. Parcourez la liste

Continuez avec la liste ci-dessus

Si possible, essayez d'éviter de faire cela :

bag = [1, 2, 3, 4, 5] 
for i in range(len(bag)): 
 print(bag[i])
Copier après la connexion

Au lieu de cela, cela devrait ressembler à ceci :

bag = [1, 2, 3, 4, 5] 
for i in bag: 
 print(i)
Copier après la connexion

Si x est une liste, vous pouvez parcourir ses éléments. Dans la plupart des cas, vous n'avez pas besoin de l'index de chaque élément, mais si vous le devez. pour cela, utilisez la fonction enumerate. Cela ressemble à ceci :

bag = [1, 2, 3, 4, 5] 
for index, element in enumerate(bag): 
 print(index, element)
Copier après la connexion

C'est très intuitif et clair 3. Échange d'éléments<. java ou le>langage C

vers Python, vous êtes peut-être habitué à ça :

Mais Python fournit une méthode plus naturelle et meilleure

a = 5 
b = 10
# 交换 a 和 b
tmp = a 
a = b 
b = tmp
Copier après la connexion
N'est-ce pas ! C'est beau ?

4. Liste d'initialisation
a = 5 
b = 10 
# 交换a 和 b
a, b = b, a
Copier après la connexion

Si vous voulez une liste de 10

entiers

0, vous pourriez La première chose qui vous vient à l'esprit est :

Essayons une autre méthode :

bag = [] 
for _ in range(10): 
 bag.append(0)
Copier après la connexion
Regardez, comme c'est élégant

Remarque : si votre liste contient une liste, cela produira des résultats superficiels. Copiez. 🎜>
bag = [0] * 10
Copier après la connexion
Par exemple :

Oups ! Toutes les listes sont modifiées, et nous voulons juste changer la première :

Rappelez-vous également :
bag_of_bags = [[0]] * 5 # [[0], [0], [0], [0], [0]] 
bag_of_bags[0][0] = 1 # [[1], [1], [1], [1], [1]]
Copier après la connexion
«L'optimisation prématurée est la racine de tous les maux»

Demandez-vous : l'initialisation d'une liste est-elle nécessaire >5. Construct

String

bag_of_bags = [[0] for _ in range(5)] 
# [[0], [0], [0], [0], [0]]
bag_of_bags[0][0] = 1 
# [[1], [0], [0], [0], [0]]
Copier après la connexion
Vous aurez souvent besoin d'imprimer des chaînes ? . S'il y a beaucoup de

variables

, évitez ce qui suit :


Euh, à quel point cela a-t-il l'air compliqué. Vous pouvez utiliser une méthode agréable et concise à la place, .format :

Bien mieux ! 6. Retourner des tuples (tuples)

Python vous permet de renvoyer plusieurs éléments dans une fonction, ce qui facilite la vie. Cependant, il existe des erreurs courantes comme celle-ci. décompression des tuples<.>:

name = "Raymond" 
age = 22 
born_in = "Oakland, CA" 
string = "Hello my name is " + name + "and I'm " + str(age) + " years old. I was born in " + born_in + "." 
print(string)
Copier après la connexion
Ceci n'est pas nécessaire, vous pouvez le remplacer par ceci :

Si vous avez besoin que tous les éléments soient renvoyés, utilisez un trait de soulignement_ :

name = "Raymond" 
age = 22 
born_in = "Oakland, CA" 
string = "Hello my name is {0} and I'm {1} years old. I was born in {2}.".format(name, age, born_in) 
print(string)
Copier après la connexion

C'est tellement efficace !

7. Accédez aux dicts (dictionnaires)

Vous écrirez souvent clé, paire (clé, valeur) dans les dictés.

def binary(): 
 return 0, 1
result = binary() 
zero = result[0] 
one = result[1]
Copier après la connexion
Si vous essayez d'accéder à une clé qui n'existe pas dans le dict, vous pourriez être tenté de le faire pour éviter une KeyError :

def binary(): 
 return 0, 1
zero, one = binary()
Copier après la connexion
Cependant, utiliser get() est plus efficace Bonne idée.

zero, _ = binary()
Copier après la connexion
Bien sûr, vous pouvez également utiliser setdefault à la place.

Cela utilise également une méthode plus simple mais plus coûteuse :

Vous pouvez également utiliser la dérivation dict.

Ces deux méthodes sont coûteuses car elles parcourent la liste à chaque fois que count est appelé.

8 Utilisation des bibliothèques
countr = {} 
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7] 
for i in bag: 
 if i in countr:
  countr[i] += 1
 else:
  countr[i] = 1
for i in range(10): 
 if i in countr:
  print("Count of {}: {}".format(i, countr[i]))
 else:
  print("Count of {}: {}".format(i, 0))
Copier après la connexion

Les bibliothèques existantes doivent simplement être importées et vous pouvez faire ce que vous voulez vraiment.

countr = {} 
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7] 
for i in bag: 
 countr[i] = countr.get(i, 0) + 1
for i in range(10): 
 print("Count of {}: {}".format(i, countr.get(i, 0)))
Copier après la connexion
Toujours en parlant de l'exemple précédent, nous construisons une fonction pour compter le nombre de fois qu'un nombre apparaît dans la liste. Eh bien, il existe déjà une bibliothèque capable de faire une telle chose.

Quelques raisons d'utiliser la bibliothèque :

bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7] 
countr = dict([(num, bag.count(num)) for num in bag])
for i in range(10): 
 print("Count of {}: {}".format(i, countr.get(i, 0)))
Copier après la connexion
1. Le code est correct et testé.

2. Leur algorithme peut être optimal, donc il peut fonctionner plus rapidement.
countr = {num: bag.count(num) for num in bag}
Copier après la connexion

3. Abstraction : Elles sont claires et bien documentées, et vous pouvez vous concentrer sur celles qui n'ont pas encore été mises en œuvre.

4. Enfin, tout est là, vous n'avez pas besoin de réinventer la roue.

9. Découper/avancer dans une liste

Vous pouvez spécifier le point de départ et le point d'arrêt, comme cette liste [start:stop:step].

from collections import Counter 
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7] 
countr = Counter(bag)
for i in range(10): 
 print("Count of {}: {}".format(i, countr[i]))
Copier après la connexion
On retire les 5 premiers éléments de la liste :

C'est du découpage, on précise que le point d'arrêt est 5, et 5 éléments seront retirés de la liste avant de s'arrêter .

Que faire des 5 derniers éléments ?

Vous ne comprenez pas ? -5 signifie prendre 5 éléments à la fin de la liste.

Si vous vouliez opérer sur des intervalles dans une liste, vous pourriez faire ceci :

Mais vous devriez le faire comme ceci :

C'est une liste intervient. list[::2] signifie parcourir la liste et supprimer un élément en deux étapes.
bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
for elem in bag[:5]: 
 print(elem)
Copier après la connexion

Vous pouvez utiliser list[::-1] pour créer une liste inversée sympa.

10. Touche Tab ou touche espace

À long terme, mélanger les tabulations et les espaces provoquera un désastre, et vous verrez IndentationError : indentation inattendue. Que vous choisissiez la touche de tabulation ou la barre d'espace, vous devez continuer à l'utiliser dans vos fichiers et projets.

L'une des raisons d'utiliser des espaces au lieu des tabulations est que les tabulations ne sont pas créées de la même manière dans tous les éditeurs. Selon l'éditeur utilisé, les tabulations peuvent être traitées comme des espaces de 2 à 8.

Vous pouvez également utiliser des espaces pour définir des tabulations lors de l'écriture du code. De cette façon, vous pouvez choisir le nombre d'espaces à utiliser comme tabulations. La plupart des utilisateurs de Python utilisent 4 espaces.

Résumé

Ce qui précède est un résumé des conseils auxquels vous devez prêter attention dans le développement de Python. J'espère que cela sera utile à tout le monde dans l'apprentissage et l'utilisation de Python. vous pouvez laisser un message pour communiquer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal