ID.nl logo
Zo kun je programmeren in Python - Deel 3
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 3

Nu je hebt gezien hoe je gegevens structureert in lijsten en dictionary’s, wordt het tijd om ook in je programma’s wat structuur te brengen. In deze les ga je van start met de Python-ontwikkelomgeving Thonny en schrijf je je eerste Python-programma’s.

Tot nu toe heb je al je Python-opdrachten in een interactieve sessie in de Python-interpreter uitgevoerd. Dat is handig voor wat kleine berekeningen, maar voor complexere zaken dien je een volwaardig programma te schrijven. En dat gaan we in deze les dan ook doen, waarbij we ook veel opdrachten zien die Python aanbiedt om een programma op te bouwen.

Thonny

Als je Python-programma’s begint te schrijven die voor meer dienen dan eenvoudige bewerkingen, volstaat de Python-interpreter niet: je hebt dan een ontwikkelomgeving nodig die je helpt bij het opbouwen van je programma. In deze les gebruiken we Thonny, dat standaard wordt geïnstalleerd met Python vanaf versie 3.7.

Als je Thonny opstart, krijg je twee tekstvelden te zien. In het tekstveld bovenaan typ je je Python-programma in. Het tekstveld onderaan is een ‘shell’: dit is hetzelfde als de Python-interpreter die we in de vorige lessen gebruikten. Om kort wat opdrachten uit te proberen terwijl je een programma aan het schrijven bent, kan dit tekstveld handig zijn.

©PXimport

Waar of niet waar

Maar voordat we een programma schrijven, dienen we eerst nog één datatype van Python uit te leggen, en wel een heel eenvoudig: bool. Dit stelt een booleaanse waarde voor: waar of niet waar, of in Python: True of False. Heel wat functies en operatoren in Python geven een van deze waardes terug. Voer de volgende opdrachten maar eens in het shell-tekstveld van Thonny in:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> 'kees' in namenTrue>>> 'aniek' in namenFalse>>> namen[0] == 'lies'True>>> namen[1] != 'kees'True>>> 2 < 5True>>> 2 > 5False>>> 3.1.is_integer()False>>> 3.0.is_integer()True

Zoals je ziet, kun je met in testen of een element zich in een lijst bevindt. Met == test je op de gelijkheid van twee objecten en met != op de ongelijkheid. Vergelijkingen zoals < (kleiner dan) en > (groter dan) geven ook een booleaanse waarde terug. Daarnaast heb je ook <= (kleiner dan of gelijk aan) en >= (groter dan of gelijk aan). En een functie zoals is_integer() is handig om van een float te bepalen of het een gehele waarde is.

Met booleaanse waarden zelf kun je ook ‘rekenen’, namelijk met de operatoren and, or en not. De uitdrukking xor y is True als x of y of beide objecten True zijn; x and y is True als beide objecten True zijn; en not x is True als x False is en andersom.

Waardes testen: if

Dan gaan we nu ons eerste Python-programma schrijven. Het programma vraagt de gebruiker om een geheel getal van 1 tot 10 in te vullen en toont het getal dan in een woord uitgeschreven. Maar als de gebruiker een getal kleiner dan 1 of groter dan 10 invult, krijgt hij een foutmelding. Het programma ziet er zo uit:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal < 1:

print("Het getal is kleiner dan 1.")

elif getal > 10:

print("Het getal is groter dan 10.")

else:

print(getallen[getal])

Op de eerste regel maken we een dictionary aan met de getallen van 1 tot 10 als sleutel, met telkens als bijbehorende waarde een string met het getal in een woord uitgedrukt. Daarna roepen we de functie input aan met als argument een string met de vraag om een getal in te voeren. De functie input geeft als waarde de string terug die de gebruiker heeft ingevoerd. Die string zetten we met int om naar een geheel getal, op voorwaarde natuurlijk dat de gebruiker daadwerkelijk een getal heeft ingevoerd.

Daarna testen we met if getal < 1 of het getal kleiner is dan 1. In dat geval wordt de regel erna uitgevoerd. Als aan die eerste voorwaarde niet voldaan is, controleert Python de voorwaarde in de regel elif getal > 10. Zo ja, dan wordt de regel erna uitgevoerd; zo nee, dan wordt de regel na else: uitgevoerd.

Zo’n blok als hierboven kan meerdere controles met elif bevatten: die worden dan één voor één getest tot er aan een voorwaarde is voldaan. Overigens zijn de controles met elif en else optioneel. Je kunt dus eenvoudig alleen met if een voorwaarde testen: in het geval niet aan die voorwaarde is voldaan, gebeurt er niets en gaat het programma gewoon verder.

Voer je programma uit

Voer de code in het programmatekstveld van Thonny in. Je merkt dat Thonny de regels automatisch met vier tekens inspringt nadat je op Enter drukt na een regel met if, elif of else. Let op: zonder deze inspringing is de Python-code niet geldig. Nadat je de volledige code ingetypt hebt, sla je het bestand in Thonny op. Druk daarna op het groene icoontje met het driehoekje om het programma uit te voeren.

Als je een tikfout hebt gemaakt, krijg je in het onderste tekstveld een foutmelding te zien. Dat is bijvoorbeeld het geval als je een : op het einde van een regel met if, elif of else vergeet of als je de code niet correct inspringt. Verbeter dan je code en voer het programma opnieuw uit.

Je programma vraagt nu in het tekstveld onderaan om een getal van 1 tot 10 in te voeren. Test de verschillende onderdelen van je programma eens uit door een getal in te voeren dat te klein, te groot of binnen het bereik ligt. Na elke invoer druk je op Enter en krijg je het resultaat te zien. Voer het programma daarna opnieuw uit voor een volgende poging.

Programma’s op de opdrachtregel uitvoeren

Je hoeft je programma’s niet in Thonny uit te voeren. Als je op de Opdrachtprompt (onder Windows) of de Terminal (onder Linux of macOS) naar de directory gaat waarin je je Python-programma hebt opgeslagen, kun je het programma uitvoeren met de opdracht python3 naamvanprogramma.py.

Een bereik van getallen

Ons programma is ingewikkelder dan nodig. We hoeven eigenlijk niet te weten of het ingevoerde getal kleiner dan 1 is of groter dan 10: we willen gewoon weten of het in het gevraagde bereik van 1 tot 10 ligt. Daarbij kunnen we gebruikmaken van de functie range, die een bereik van getallen voorstelt. Zo kunnen we ons voorgaande programma vereenvoudigen tot:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal - 1 in range(len(getallen)):

print(getallen[getal])

else:

print("Het getal ligt niet binnen het bereik van 1 tot 10.")

We hebben nu nog maar één test met if nodig, zonder elif. In die controle testen we immers of het ingevoerde getal in het bereik ligt. Dat bereik berekenen we door de lengte van de dictionary met getallen door te geven aan de functie range. Omdat Python altijd vanaf 0 begint te tellen, is het bereik voor die dictionary met lengte 10 gelijk aan de getallen van 0 tot 9. Maar omdat wij mensen vanaf 1 beginnen te tellen, trekken we 1 van het ingevoerde getal af voordat we testen of het getal zich in het bereik bevindt. En zo komen we aan deze regel:

if getal - 1 in range(len(getallen)):

Voorwaardelijke lussen

Ons programma heeft nog één groot minpunt: als de gebruiker een waarde buiten het bereik invoert, stopt het programma gewoon en moet de gebruiker het programma opnieuw uitvoeren. Waarom kan het programma in dat geval niet uit zichzelf opnieuw naar een getal vragen? Dat kan, namelijk met while:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = 0

while getal - 1 not in range(len(getallen)):

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

print(getallen[getal])

In de regel met while testen we met not in of het ingevoerde getal zich niet binnen het bereik bevindt. In dat geval wordt de ingesprongen opdracht eronder uitgevoerd. En daarna gebeurt de test in de regel met while opnieuw, zolang het getal zich niet binnen het bereik bevindt. Pas wanneer het getal zich wel binnen het bereik bevindt, stopt het while-blok en gaat het programma verder met de laatste regel. Zo’n while-blok noemen we een lus, omdat het programma als het ware in rondjes draait zolang aan de voorwaarde op de while-regel is voldaan.

Let op: we kennen in het begin van het programma 0 toe aan de variabele getal zodat de while-lus de eerste keer sowieso wordt uitgevoerd.

Samenvatting

In deze les hebben we de stap gezet van afzonderlijke Python-opdrachten naar Python-programma’s. Dat deden we in de ontwikkelomgeving Thonny. We bekeken het datatype bool en werkten met voorwaarden in if-blokken en while-lussen. Daarbij maakten we ook gebruik van de functie range voor een bereik van getallen. We gebruikten input en print voor invoer en uitvoer. De volgende les besteden we volledig aan invoer en uitvoer, en bespreken we ook hoe je door elementen in een lijst of dictionary loopt.

Opdracht

Ons laatste programma heeft nog één nadeel: het vraagt bij de invoer van een getal buiten het bereik van 1 tot 10 gewoon opnieuw een getal zonder extra melding dat je iets verkeerds hebt ingetypt. Voeg die extra melding toe, zoals we wel in het programma met if hadden.

Uitwerking

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'} getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) while getal - 1 not in range(len(getallen)): print("Het getal ligt niet binnen het bereik van 1 tot 10.") getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) print(getallen[getal]) Dit programma combineert de ideeën achter onze twee vorige programma’s. We initialiseren getal nu niet met 0, maar met de invoer van de gebruiker. Als deze eerste keer het getal onmiddellijk in het bereik van 1 tot 10 ligt, is aan de voorwaarde van de while-lus niet voldaan en wordt het getal getoond. In het andere geval wordt de lus gestart, waarbij zolang het getal niet in het bereik ligt de gebruiker een melding daarvan krijgt en de vraag om een getal in te voeren.

Cheatsheet

argument: een waarde die je aan een functie doorgeeft. bool (‘booleaanse waarde’): waar (True) of niet waar (False). if: een test of er aan een voorwaarde is voldaan. ontwikkelomgeving (development environment): software die je ondersteunt bij het schrijven van programma’s. while: een lus die uitgevoerd wordt zolang er aan een voorwaarde is voldaan.

▼ Volgende artikel
Een eigen kluis, de plek voor al je wachtwoorden
Zekerheid & gemak

Een eigen kluis, de plek voor al je wachtwoorden

Je kent het wel: je wil iets online bestellen of even het saldo op je rekening checken. En dan komt het: je moet inloggen. Maar, wat was ook al weer het wachtwoord? De geboortedatum van je partner, de laatste twee cijfers van je postcode in combinatie met je lengte? Voor je het weet druk je weer op de knop 'Wachtwoord vergeten'... Dat kan makkelijker.

Partnerbijdrage - in samenwerking met Bitdefender

Ons brein is er niet voor gemaakt om voor vijftig verschillende sites unieke codes te onthouden. En juist daarom zijn wachtwoordmanagers de laatste jaren zo populair geworden. In dit artikel kijken we eens goed naar de oplossing van Bitdefender. Ze zijn wereldberoemd om hun antivirus, maar kunnen ze ook zorgen dat jij nooit meer buitengesloten wordt bij je eigen accounts?

In het kort

In dit artikel bespreken we hoe een wachtwoordmanager dient als oplossing voor het veilig beheren van talloze online accounts. De tekst legt uit dat je met slechts één sterk hoofdwachtwoord toegang krijgt tot een digitale kluis, waarna de software automatisch complexe inlogcodes genereert en invult op al je apparaten. Daarnaast wordt behandeld hoe lokale versleuteling en digitale herstelsleutels zorgen voor privacy en toegangszekerheid, zonder dat gegevens op straat komen te liggen

Waarom een wachtwoordmanager?

Laten we eerlijk zijn, de meeste mensen gebruiken nog steeds overal hetzelfde wachtwoord, of een kleine variatie daarop. Of ze schrijven het ergens op. Dat voelt misschien wel veilig, tot je beseft hoe lek het internet soms kan zijn of dat je net dat boekje kwijtraakt.

Met een wachtwoordmanager zoals Bitdefender SecurePass password manager los je dat probleem voor een groot deel op. Die fungeert als een onzichtbare butler die je helpt met de wachtwoorden invullen, ook al is het misschien lastig of spannend om alles zomaar uit handen te geven. Je installeert de software op je eigen computer en je telefoon, en je bedenkt één heel sterk hoofdwachtwoord. Dat is de enige die je nog hoeft te onthouden.

Voor BitDefender SecurePass heb je een hoofdwachtwoord nodig, en alleen die hoef je te onthouden.

Zodra je die invoert, gaat de kluis open en regelt Bitdefender de rest. Als je dan naar Facebook of je favoriete webshop gaat, ziet het programma dat je wil inloggen en vult het de velden voor je in. Je hoeft niet meer te typen, niet meer te denken en vooral niet meer te stressen. Het mooie is dat het programma je ook meteen helpt bij het aanmaken van wachtwoorden voor nieuwe accounts. In plaats van dat jij weer moet gaan nadenken over een code met een uitroepteken en een cijfer, genereert de software gewoon een onmogelijk te kraken reeks tekens uit en slaat deze direct op. En jij ziet het wachtwoord niet eens, en dat hoeft ook niet, want de software onthoudt het voor je.

En ben je bang dat je misschien ook het hoofdwachtwoord niet meer weet? SecurePass genereert ook nog een digitale herstelsleutel die je in het allerergste geval dan kunt inzetten om in te loggen. Die herstelsleutel bewaar je bij voorkeur op een andere plek dan je smartphone of computer, of print je uit en sla je op in een kluis.

Met een herstelsleutel zorg je dat je altijd toegang kunt krijgen tot je wachtwoordkluis.

Lokaal opgeslagen: veilig!

Het blijft een raar idee: al je wachtwoorden bij één bedrijf parkeren. Wat als zij gehackt worden? Dan ligt alles op straat, toch? Nou, gelukkig zit dat bij Bitdefender wel goed in elkaar. De versleuteling van je wachtwoorden gebeurt namelijk lokaal op jouw eigen apparaat, nog voordat het via het internet naar hun servers wordt gestuurd. Jouw hoofdwachtwoord is de sleutel die die versleuteling ongedaan maakt. Omdat Bitdefender jouw hoofdwachtwoord niet heeft (en ook nergens opslaat), kan niemand bij jouw gegevens; ook niet in geval van een lek of hack.

Maar omdat Bitdefender jouw wachtwoord nergens hebben opgeslagen, niet hebben, kunnen ze je ook niet helpen als je het vergeet. Er is geen "wachtwoord vergeten" optie voor je hoofdwachtwoord. Je krijgt bij het installeren alleen die speciale herstelcode. Die moet je echt uitprinten of op een veilige plek bewaren, want als je je hoofdwachtwoord kwijt bent én die herstelcode, dan ben je echt de pineut en kom je je kluis nooit meer in.

Hoe werkt het in de praktijk?

Bitdefender SecurePass installeer je als app op een Android- of iOS-toestel, en is beschikbaar als browser-add-on voor de Windows- en MacOS-versies van Chrome, Edge, Firefox en Safari.

Op een desktop werkt Bitdefender SecurePass als een extensie in je browser en op de smartphone als een app.

Veiligheid is leuk, maar als de software lastig is in gebruik, gooi je het er na een week weer vanaf. Gelukkig heeft Bitdefender goed gekeken naar hoe mensen surfen en software gebruiken. De interface oogt fris voor zowel de browser-extensie als de app op je telefoon. Wat vooral fijn is, is de synchronisatie. We leven in een tijd waarin je 's ochtends op je telefoon zit, overdag op een laptop werkt en 's avonds misschien met een tablet op de bank hangt. Als je op je laptop een nieuw wachtwoord aanmaakt voor Netflix, wil je niet op je telefoon die hele rits tekens moeten overtypen.

Je hebt daardoor toegang tot alle accounts zonder dat je overal moet nadenken over wat de gebruikersnaam of het wachtwoord ook echt precies was: makkelijk en handig dus!

Ieder nieuw account sla je op in SecurePass zodat de gegevens overal automatisch worden ingevuld, op ieder apparaat.

Het meeste werk gebeurt via een extensie in je browser (via het icoontje rechtsboven in de browser) of via de app op je telefoon. Bitdefender synchroniseert dit razendsnel. Zodra je iets opslaat op het ene apparaat, is het vrijwel meteen beschikbaar op het andere. Daarnaast doet het meer dan alleen wachtwoorden. Je kunt er ook notities in kwijt die niemand mag zien

Ook is het handig dat je een of meerdere betaalkaarten en creditcards kunt toevoegen. Iedere keer dat je op een betaalpagina komt, laat Bitdefender je een scherm zien waarop je kunt aangeven welke opgeslagen creditcard je wil gebruiken. Na de selectie vult Bitdefender automatisch alle creditcardgegevens in en kun je de bestelling afmaken.

Ook je creditcardgegevens sla je eenvoudig op in SecurePass, zodat je die gegevens niet telkens handmatig hoeft in te typen als je iets online bestelt.

Gebruik je slechte of makkelijk te raden wachtwoorden, dan is er een beveiligingsscan die ten eerst kijkt of je geen zwakke wachtwoorden hebt gebruikt, maar ook op het dark web op de achtergrond scant naar gelekte gegevens. Je krijgt dan direct de tip om je wachtwoord direct aan te passen.

Met het beveiligingsrapport kun je zien welke wachtwoorden zwak of zelfs gelekt zijn, waardoor je direct weet waar je iets moet aanscherpen.

Tot slot

Als we alles op een rijtje zetten, is Bitdefender SecurePass een goede keuzae als je geen zin hebt in een lastig te beheren omgeving . Voor de gemiddelde gebruiker is dit precies wat je zoekt. Het doet wat het moet doen: het beveiligt je gegevens muurvast en haalt de frustratie van het inloggen weg. Vooral als je al gebruikmaakt van de antivirus van Bitdefender, is dit een logische toevoeging die naadloos in je bestaande pakket past. Het is misschien even wennen om de controle uit handen te geven, maar als je eenmaal gewend bent aan het feit dat je nooit meer een wachtwoord hoeft te onthouden, wil je nooit meer terug.

▼ Volgende artikel
Waar voor je geld: 5 goede bluetooth-koptelefoons tot 175 euro
© Sennheiser
Huis

Waar voor je geld: 5 goede bluetooth-koptelefoons tot 175 euro

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Ben je op zoek naar een betaalbare bluetooth-hoofdtelefoon met een goed geluid? Vandaag hebben we vijf interessante modellen voor je gespot.

Disclaimer: Op het moment van schrijven zijn de besproken bluetooth-koptelefoons bij de goedkoopste webwinkels niet duurder dan 175 euro. De prijzen kunnen echter schommelen.

Sennheiser Accentum Plus Wireless

Sennheiser bracht afgelopen voorjaar een nieuwe bluetooth-koptelefoon op de markt. En wat voor één, want de Accentum Plus Wireless is comfortabel, gebruiksvriendelijk én betaalbaar. Zoals je van de Duitse audiospecialist mag verwachten, is de geluidskwaliteit prima op orde. De gebruikersreviews op Kieskeurig.nl liegen er dan ook niet om. Alle testers gaven deze koptelefoon een 9 of 10 als reviewscore.

Handig is dat je diverse audio-instellingen naar wens kunt aanpassen. Dat werkt met een app op een smartphone. Een ander speerpunt is de functie actieve ruisonderdrukking (ANC), zodat je geen of nauwelijks storende omgevingsgeluiden hoort. Ideaal voor wie aandachtig naar een luisterboek, podcast of rustig muziekalbum wil luisteren.

Volgens Sennheiser houdt een volgeladen accu het ongeveer 50 uur vol. Is de batterij leeg, dan kun je evengoed weer snel luisteren. Na tien minuten snelladen kan de Accentum Plus Wireless er weer 5 uur tegenaan. Voor een hoog draagcomfort heeft de hoofdtelefoon zachte oorkussens en een verstelbare hoofdband met binnenvoering. Bovendien is hij met een gewicht van 227 gram ook niet zo zwaar. Geïnteresseerden kiezen tussen een zwarte en witte behuizing. Meer weten? Lees dan deze review op ID.nl.

Skullcandy Hesh ANC

Op zoek naar een ANC-koptelefoon voor minder dan 100 euro? Dat komt mooi uit, want dit exemplaar van Skullcandy is op Kieskeurig.nl momenteel goedkoper dan ooit. Aan de hand van vier meetmicrofoons registreert de Hesh ANC omgevingsgeluiden, waarna de geïntegreerde chip vliegensvlug een tegengeluid berekent. Deze bluetooth-hoofdtelefoon dempt op die manier lawaai, zodat je op elke plek geconcentreerd kunt luisteren. De oplaadbare batterij heeft volgens de fabrikant een maximale speeltijd van 22 uur. Accu leeg? Na 10 minuten opladen kun je weer 3 uur luisteren.

Dit over-earmodel bevat binnenin twee audiodrivers van 40 millimeter. Die zijn verantwoordelijk voor het geluid. Tijdens een luistersessie hoef je geen smartphone uit je broek- of jaszak te halen. Gebruik gewoon de knopjes op de oorschelp om de audioweergave te bedienen. Wijzig onder meer het volumeniveau en skip nummers. De behuizing weegt 228 gram en heeft een vouwbaar ontwerp. Hierdoor past dit luisterapparaat makkelijk in een tas.

Sony ULT Wear (WH-ULT900N)

Kun jij een flinke portie bas wel waarderen? De onlangs verschenen Sony ULT Wear (zwart/wit/groen) valt dan ongetwijfeld bij je in de smaak. Je drukt op de ULT-knop om het basniveau verder op te voeren. Gunstig voor liefhebbers van opzwepende muziekstijlen als dance, hiphop en rock. Een andere belangrijke eigenschap is de aanwezigheid van actieve ruisonderdrukking. Sony heeft deze techniek erg goed onder de knie, waardoor je niet of nauwelijks omgevingsgeluiden hoort. Wanneer je veel onderweg bent, komt de bijgesloten stevige reishoes goed van pas.

De rechteroorschelp bevat een handig aanraakpaneel waarmee je de muziek kunt bedienen. Veeg omhoog voor meer volume en veeg vooruit om naar het volgende liedje te gaan. Als je de Sony Headphones-app op een smartphone installeert, kun je diverse audio-instellingen aanpassen. Ga bij een volledig opgeladen accu uit van een luistertijd van zo’n 30 uur. Schakel je actieve ruisonderdrukking uit, dan kun je zelfs 50 uur luisteren. Lees in deze uitgebreide review meer informatie over deze betaalbare koptelefoon.

Audio-Technica ATH-M50XBT2

Vergeleken met veel andere over-ear-hoofdtelefoons heeft dit exemplaar relatief grote drivers van 45 millimeter. Dat bevordert een krachtig en open geluid. Daarnaast loopt het (brede) frequentiebereik van 15 Hz tot 28 kHz. Je mag dus een gedetailleerde weergave verwachten. Overigens ondersteunt de Audio-Technica ATH-M50XBT2 geen actieve ruisonderdrukking. Het Japanse merk focust zich met dit product namelijk louter op een hoge audiokwaliteit. Wegens de gesloten constructie dempt de koptelefoon alsnog omgevingsgeluiden.

Zoals we inmiddels van Audio-Technica gewend zijn, heeft ook deze bluetooth-koptelefoon een lange accuduur. Een volledig opgeladen batterij biedt een luistertijd van ongeveer 50 uur. Bij een lege accu kun je eventueel 10 minuten snelladen, waarna je weer 3 uur kunt luisteren. De behuizing heeft een fysieke knop waarmee je inkomende telefoonoproepen kunt aannemen. Verder roep je via deze knop ook jouw favoriete stemassistent op, zoals Google Assistent of Siri. Tot slot pas je in een app op je smartphone naar eigen smaak de equalizer-instellingen aan. De ATH-M50XBT2 is in een zwarte en blauwe versie te koop.

Marshall Monitor II A.N.C.

De Marshall Monitor II A.N.C. combineert een fraai retrodesign met goed geluid. Deze bluetooth-koptelefoon was op het moment van schrijven niet eerder zo goedkoop. Hoewel het Britse audiomerk op zijn eigen website een adviesprijs van 299 euro hanteert, vragen enkele webshops momenteel minder dan 200 euro. Dankzij de actieve ruisonderdrukking is het een prima luistermaatje voor onderweg. Vervelende omgevingsgeluiden verdwijnen namelijk naar de achtergrond. Je kiest in een app op je smartphone de mate van ruisonderdrukking.

De geïntegreerde accu ondersteunt een maximale luistertijd tot ongeveer 45 uur. Bij gebruik van actieve ruisonderdrukking kun je nog altijd 30 uur luisteren. Verder laad je een lege accu in een kwartier weer deels op. De luistertijd bedraagt dan ongeveer 5 uur. De goudkleurige knop springt direct in het oog. Die ondersteunt diverse functies, zoals het aanpassen van het volume en het door elkaar husselen van nummers. Er is ook nog een kleinere zwarte knop. Switch daarmee tussen verschillende geluidsmodi of roep een stemassistent op. Deze over-ear-hoofdtelefoon heeft een opvouwbare constructie, waardoor je hem makkelijk meeneemt.