Als developer die JavaScript en PHP kent en overstapt naar Python, wil ik weten hoe Python omgaat met blokken, types en namen, zodat ik mijn programmeerkennis kan gebruiken zonder vast te lopen op foutmeldingen die ik niet ken.
Je code draait. Maar draaien is niet genoeg. Python-programmeurs schrijven namen op een vaste manier op.
Dat staat in PEP 8. En null
bestaat niet — het heet hier None.
In JavaScript heet een variabele diskUsage. Dat heet camelCase. In
Python doe je dat niet. Daar heet hij disk_usage. Dat heet snake_case:
alles klein, streepje laag tussen de woorden.
diskUsage = 80
MaxSize = 500
def CheckDisk():
pass
disk_usage = 80
MAX_SIZE = 500
def check_disk():
pass
| Wat | Hoe | Voorbeeld |
|---|---|---|
| Variabele | snake_case | disk_usage |
| Functie | snake_case | check_disk() |
| Vaste waarde | HOOFDLETTERS | MAX_SIZE |
| Class | PascalCase | ServerMonitor |
Een variabele die nog geen waarde heeft, zet je op None. Met een hoofdletter N.
disk_usage = None # we hebben nog niets gemeten
none, true en false bestaan niet in Python. Het zijn
None, True en False. Typ je ze klein? Dan krijg je een
NameError.
Test hieronder hoe streng Python is op hoofdletters.
type(None) — welk type heeft "niets"?type(none) — nu met een kleine letter.type(True) — en een boolean?type(true) — met een kleine letter.None == 0 — is "niets" hetzelfde als nul?None == None — en dit?Hieronder staat code die draait, maar die door een JavaScript-programmeur is geschreven. Aan alles zie je dat. Schrijf hem om naar echte Python-stijl.
serverName = "web01"
maxUsers = 500
currentLoad = null
isOnline = false
def CheckServer():
print(serverName)
Er zitten vier soorten fouten in. Zoek ze alle vier.
Acceptatiecriteria
snake_case.null en false zijn vervangen door de Python-versie.NameError.type().None hier beter past dan 0.