Sprint 1 · First Flight  ·  US1: Van jouw taal naar Python

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.

Taak 3: PEP 8, snake_case en None

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.

Namen schrijf je met streepjes_laag

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.

✗ Niet doen

diskUsage = 80
MaxSize = 500
def CheckDisk():
    pass

✓ Zo hoort het

disk_usage = 80
MAX_SIZE = 500
def check_disk():
    pass
WatHoeVoorbeeld
Variabelesnake_casedisk_usage
Functiesnake_casecheck_disk()
Vaste waardeHOOFDLETTERSMAX_SIZE
ClassPascalCaseServerMonitor

None in plaats van null

Een variabele die nog geen waarde heeft, zet je op None. Met een hoofdletter N.

disk_usage = None      # we hebben nog niets gemeten
Let op de hoofdletters
none, true en false bestaan niet in Python. Het zijn None, True en False. Typ je ze klein? Dan krijg je een NameError.
>_ Oefenomgeving: None en hoofdletters

Test hieronder hoe streng Python is op hoofdletters.

  1. type(None) — welk type heeft "niets"?
  2. type(none) — nu met een kleine letter.
  3. type(True) — en een boolean?
  4. type(true) — met een kleine letter.
  5. None == 0 — is "niets" hetzelfde als nul?
  6. None == None — en dit?
Python 3.11 REPL Simulator. Typ je commando en druk op Enter.
>>> 

Jouw Opdracht: Schrijf het om naar Python-stijl

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

  • Alle variabelen en de functie staan in snake_case.
  • De waarde die niet mag veranderen staat in HOOFDLETTERS.
  • null en false zijn vervangen door de Python-versie.
  • Je script draait zonder NameError.
  • Je print van elke variabele het type met type().
  • In commentaar leg je uit waarom None hier beter past dan 0.