Ich habe nach Python-Code-Konventionen gesucht. Teil 1 hat PEP8 auf meine eigene Weise zusammengefasst. Hier ist eine Zusammenfassung des Inhalts anderer Quellen. Ich wähle, was ich für wahr halte.
The Hitchhiker's Guide to Python Be Pythonic Code Like a Pythonista: Idiomatic Python
Vermeiden Sie schwarze Magie so weit wie möglich und machen Sie den Code leicht verständlich BAD
def make_complex(*args):
x, y = args
return dict(**locals())
GOOD
def make_complex(x, y):
return {'x': x, 'y': y}
We are all responsible users Es scheint, dass Python kein privates Schlüsselwort hat. Was die Kultur betrifft, so scheint es, dass jede Person für die Beschichtung verantwortlich ist. Es gibt keine Schlüsselwörter, aber Konventionen. Methoden, die Sie nicht als öffentlich bezeichnen möchten, sollten das Präfix _ haben
Sie können sicher sein, dass die Datei geschlossen wird, egal was passiert
# 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)]