Python Academy · Les

De Click-bibliotheek

Maak CLI's met decorators

Les 3 van 413 stappen

De Click-bibliotheek is een gratis Python Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 4 lessen.

Wat is Click?

Click is een populaire bibliotheek van derden voor het bouwen van opdrachtregelinterfaces met decorateurs. De bibliotheek verwerkt argumenten, helptekst, prompts en kleuren met heel weinig code. Installeer de bibliotheek met pip install click.

import click

@click.command()
def hello():
    click.echo('Hello from Click')

# hello() would run when called as a script

click.echo

Gebruik click.echo() in plaats van print. De functie verwerkt coderingsproblemen en werkt soepel met de kleur- en omleidingsfuncties van Click.

import click

@click.command()
def greet():
    click.echo('Welcome!')

Argumenten

De decorateur @click.argument declareert een vereist positioneel argument dat Click als parameter aan je functie doorgeeft.

import click

@click.command()
@click.argument('name')
def hello(name):
    click.echo('Hello ' + name)

Opties

@click.option definieert optionele vlaggen. Geef een standaardwaarde op, waarna Click automatisch helptekst en verwerking van typen opbouwt.

import click

@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
    for _ in range(count):
        click.echo('Hi')

Opties met een type

Click leidt het type af uit de standaardwaarde, of je stelt het expliciet in met type=int. Ongeldige invoer levert een begrijpelijke fout op.

import click

@click.command()
@click.option('--age', type=int, default=0)
def show(age):
    click.echo('Age is ' + str(age))

Booleaanse vlaggen

Een optie met is_flag=True wordt een schakelaar die True is wanneer deze aanwezig is, zoals --verbose.

import click

@click.command()
@click.option('--shout', is_flag=True)
@click.argument('text')
def say(shout, text):
    click.echo(text.upper() if shout else text)

Prompts

Stel prompt=True in en Click vraagt de gebruiker interactief om invoer als de optie niet op de opdrachtregel is opgegeven.

import click

@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
    click.echo('Hello ' + name)

Opdrachtgroepen

@click.group maakt een bovenliggende opdracht met subopdrachten, het Click-equivalent van argparse-subparsers. Je koppelt subopdrachten met @cli.command().

import click

@click.group()
def cli():
    pass

@cli.command()
def start():
    click.echo('starting')

@cli.command()
def stop():
    click.echo('stopping')

Gekleurde uitvoer

click.style voorziet tekst van kleur en opmaak, en click.secho combineert uitvoer en opmaak in één aanroep.

import click

@click.command()
def status():
    click.secho('OK', fg='green', bold=True)
    click.secho('Error', fg='red')

Bevestiging en afsluiten

click.confirm stelt een ja/nee-vraag, en het opwerpen van click.Abort of retourneren beëindigt de opdracht netjes.

import click

@click.command()
def delete():
    if click.confirm('Are you sure?'):
        click.echo('deleted')
    else:
        click.echo('cancelled')

argparse versus Click

argparse is ingebouwd en uitstekend geschikt voor eenvoudige programma's. Click is een externe afhankelijkheid, maar biedt voor grotere opdrachtregelinterfaces een duidelijkere stijl met decorateurs, geneste groepen, prompts en ingebouwde kleurondersteuning.

import click

@click.command()
@click.argument('items', nargs=-1)
def show(items):
    for item in items:
        click.echo(item)

Korte controle

Test je begrip van Click.

Samenvatting

Je hebt de Click-bibliotheek geleerd:

  • Met de decorateurs @click.command, @click.argument en @click.option definieer je een opdrachtregelinterface.
  • click.echo en click.secho voeren tekst uit, eventueel met kleur.
  • @click.group bouwt geneste subopdrachten; prompts en bevestigingen zijn ingebouwd.
  • Het is een externe afhankelijkheid die je via pip installeert.

Volgende stap: terminaluitvoer opmaken met rich.

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
76
Lessen
320

Veelgestelde vragen

Is de les “De Click-bibliotheek” gratis?

Ja — de volledige tekst van “De Click-bibliotheek” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 4 lessen.

Wat leer ik in “De Click-bibliotheek”?

Maak CLI's met decorators Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Python Academy te beginnen?

Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “De Click-bibliotheek”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Python Academy?

Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisprincipes van argparse
  2. Subopdrachten en opties
  3. De Click-bibliotheek
  4. Uitgebreide terminaluitvoer
← Terug naar Python Academy