Maison >développement back-end >Tutoriel Python >Conseils Python incontournables pour les débutants

Conseils Python incontournables pour les débutants

高洛峰
高洛峰original
2017-03-17 15:51:421008parcourir

Voici quelques conseils et outils pratiques Python que j'ai collectés ces dernières années. J'espère qu'ils vous seront utiles.

Échangevariables

x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6

if déclaration en ligne

print "Hello" if True else "World"
>>> Hello

rejoindre

ci-dessous La dernière méthode est intéressante pour lier deux objets de types différents.

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['Packers', '49ers', 'Ravens', 'Patriots']
 
print str(1) + " world"
>>> 1 world
 
print `1` + " world"
>>> 1 world
 
print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1

Compétences numériques

#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32

Faites attention à la division des nombres à virgule flottante

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0

Comparaison numérique

C'est l'une des les choses que j'ai vues dans de nombreuses langues Il existe peu de méthodes aussi efficaces et simples

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1  0:
   print x
>>> 2

Parcourir deux listes en même temps

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
     print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots

Itération de liste indexée

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots

Compréhension de liste

Étant donné une liste, nous pouvons sélectionner la méthode de liste paire :

numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
    if number%2 == 0:
        even.append(number)

se transforme en ce qui suit :

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]

N'est-ce pas c'est génial, haha.

Compréhensions de dictionnaires

Semblables aux compréhensions de listes, les dictionnaires peuvent faire le même travail :

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packers': 0}

Initialiser les valeurs de la liste

items = [0]*3
print items
>>> [0,0,0]

Liste conversion Obtenir l'élément du dictionnaire pour

chaîne
teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'

J'admets que le code try/sauf n'est pas élégant, mais voici un moyen simple, essayez-le dans la recherche du dictionnaire pour la clé. Si la valeur correspondante n'est pas trouvée, le deuxième paramètre sera utilisé pour définir sa valeur variable. Remplacez

data = {'user': 1, 'name': 'Max', 'three': 4}
try:
   is_admin = data['admin']
except KeyError:
   is_admin = False

comme ceci :

data = {'user': 1, 'name': 'Max', 'three': 4}
is_admin = data.get('admin', False)

Obtenez un sous-ensemble d'une liste

Parfois, vous n'avez besoin que d'un sous-ensemble d'éléments dans une liste, en voici quelques-uns sous-ensembles d’une méthode d’ensemble de listes.

x = [1,2,3,4,5,6]
#前3个
print x[:3]
>>> [1,2,3]
#中间4个
print x[1:5]
>>> [2,3,4,5]
#最后3个
print x[3:]
>>> [4,5,6]
#奇数项
print x[::2]
>>> [1,3,5]
#偶数项
print x[1::2]
>>> [2,4,6]

60 caractères pour résoudre FizzBuzz

Il y a quelque temps, Jeff Atwood a fait la promotion d'un exercice de programmation simple appelé FizzBuzz. La question citait comme suit :

Écrivez un programme qui imprime les nombres de 1 à 100, en remplaçant le nombre par « Fizz » pour les multiples de 3, « Buzz » par les multiples de 5 et « FizzBuzz » pour les nombres qui sont tous deux multiples de 3 et 5.

Voici une manière courte et intéressante de résoudre ce problème :

for x in range(101): print"fizz"[x%3*4::]+"buzz"[x%5*4::] or x
Collection

En plus du

type de données intégré à Python, Le module de collecte comprend également des cas d'utilisation particuliers, et Counter est très utile dans certaines situations. Si vous avez participé à la Facebook HackerCup de cette année, vous pourrez même découvrir son aspect pratique.

from collections import Counter
print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
Outils d'itération

Comme la bibliothèque des collections, il existe également une bibliothèque appelée itertools, qui permet de résoudre efficacement certains problèmes. L'un des cas d'utilisation est de trouver toutes les combinaisons, ce qui peut vous indiquer toutes les combinaisons impossibles d'éléments dans un groupe

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game
>>> ('Packers', '49ers')
>>> ('Packers', 'Ravens')
>>> ('Packers', 'Patriots')
>>> ('49ers', 'Ravens')
>>> ('49ers', 'Patriots')
>>> ('Ravens', 'Patriots')
False == True
C'est une chose très intéressante par rapport à la technologie pratique en python, True et False. sont des variables globales, donc :

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!

Déclaration:
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