Résumé sur le style pythonique (2): Autre grattage

Aperçu

J'ai recherché des conventions de code python. Partie 1 a résumé PEP8 à ma manière. Voici un résumé du contenu d'autres sources. Je choisis ce que je pense être vrai.

La page que j'ai vue

The Hitchhiker's Guide to Python Be Pythonic Code Like a Pythonista: Idiomatic Python

Général

Accent sur la clarté

Évitez autant que possible la magie noire et rendez le code facile à comprendre BAD

def make_complex(*args):
    x, y = args
    return dict(**locals())

GOOD

def make_complex(x, y):
    return {'x': x, 'y': y}

Types de variables de fonction et notes

We are all responsible users Il semble que python n'ait pas de mot clé privé. Quant à la culture, il semble que chaque personne soit responsable du revêtement. Il n'y a pas de mots clés, mais il y a des conventions. Les méthodes que vous ne voulez pas être dites publiques doivent avoir le préfixe _

Ouvrez le fichier avec Avec

Vous pouvez être assuré que le dossier sera fermé quoi qu'il arrive

# Bad
f = open('file.txt')
a = f.read()
print a
f.close()

# Good
with open('file.txt') as f:
    for line in f:
        print line

Tips

# Enumerate
for index, value in enumerate(pi_nums):
    print(index, value)
# 1 3
# 2 1
# 3 4
# 4 1
# 5 5

# Zip
for p, f in zip(pi_nums, fibonacci_nums):
    print(p, f)
# 3 1
# 1 1
# 4 2
# 1 3
# 5 5

#Unpacking after python3
a, *rest = [1, 2, 3]
# a = 1, rest = [2, 3]
a, *middle, c = [1, 2, 3, 4]
# a = 1, middle = [2, 3], c = 4

for _ in range(10):
    print('Tasty')
a = [1] * 4
# a = [1, 1, 1, 1]

# WRONG
b = [[1] * 3] * 3
# b = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
# Because when
b[0][0] = 2
# b = [[2, 1, 1], [2, 1, 1], [2, 1, 1]]

# RIGHT
b = [[1] * 3 for _ in range(3)]

Recommended Posts

Résumé sur le style pythonique (2): Autre grattage
Résumé sur le style pythonique (1): PEP8
À propos du scraping Twitter
Résumé sur Python3 + OpenCV3
Python Crawling & Scraping Chapitre 4 Résumé