Pustaka Click
Buat CLI dengan dekorator
Pustaka Click adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.
Apa Itu Click?
Click adalah pustaka pihak ketiga yang populer untuk membuat antarmuka baris perintah menggunakan dekorator. Click menangani penguraian, teks bantuan, permintaan masukan, dan warna dengan kode yang sangat sedikit. Instal dengan pip install click.
import click
@click.command()
def hello():
click.echo('Hello from Click')
# hello() would run when called as a scriptclick.echo
Gunakan click.echo(), bukan print. Fungsi ini menangani masalah pengodean dan bekerja lancar dengan fitur warna serta pengalihan Click.
import click
@click.command()
def greet():
click.echo('Welcome!')
Argumen
Dekorator @click.argument menyatakan argumen posisi yang wajib diisi, lalu Click meneruskannya ke fungsi Anda sebagai parameter.
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello ' + name)
Opsi
@click.option mendefinisikan bendera opsional. Berikan nilai bawaan, lalu Click akan membuat teks bantuan dan menangani jenis secara otomatis.
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hi')
Opsi Bertipe
Click menyimpulkan jenis dari nilai bawaan, atau Anda dapat menetapkannya secara eksplisit dengan type=int. Masukan yang tidak valid menghasilkan kesalahan yang mudah dipahami.
import click
@click.command()
@click.option('--age', type=int, default=0)
def show(age):
click.echo('Age is ' + str(age))
Bendera Boolean
Opsi dengan is_flag=True menjadi pengalih yang bernilai True saat dicantumkan, seperti --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)
Permintaan Masukan
Tetapkan prompt=True, lalu Click akan meminta masukan pengguna secara interaktif jika opsi tersebut tidak diberikan pada baris perintah.
import click
@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
click.echo('Hello ' + name)
Grup Perintah
@click.group membuat perintah induk yang menampung subperintah, setara dengan subparser argparse. Subperintah ditambahkan dengan @cli.command().
import click
@click.group()
def cli():
pass
@cli.command()
def start():
click.echo('starting')
@cli.command()
def stop():
click.echo('stopping')
Keluaran Berwarna
click.style membungkus teks dengan warna dan gaya, sedangkan click.secho menggabungkan echo dengan gaya dalam satu pemanggilan.
import click
@click.command()
def status():
click.secho('OK', fg='green', bold=True)
click.secho('Error', fg='red')
Konfirmasi dan Keluar
click.confirm mengajukan pertanyaan ya/tidak, sedangkan memunculkan click.Abort atau mengembalikan nilai akan mengakhiri perintah dengan rapi.
import click
@click.command()
def delete():
if click.confirm('Are you sure?'):
click.echo('deleted')
else:
click.echo('cancelled')
argparse vs Click
argparse sudah tersedia di dalam Python dan sangat baik untuk alat sederhana. Click merupakan dependensi eksternal, tetapi menawarkan gaya dekorator yang lebih bersih, grup bertingkat, permintaan masukan, dan warna secara langsung untuk CLI yang lebih besar.
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
Pemeriksaan Singkat
Uji pemahaman Anda tentang Click.
Ringkasan
Anda telah mempelajari pustaka Click:
- Dekorator
@click.command,@click.argument, dan@click.optionmendefinisikan CLI. click.echodanclick.sechomencetak teks, dengan warna jika diinginkan.@click.groupmembuat subperintah bertingkat; permintaan masukan dan konfirmasi sudah tersedia.- Click adalah dependensi eksternal yang dipasang melalui pip.
Berikutnya: menata keluaran terminal dengan rich.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pustaka Click” gratis?
Ya — teks lengkap “Pustaka Click” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pustaka Click”?
Buat CLI dengan dekorator Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Pustaka Click” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.