Belajar membuat kode menggunakan Python merupakan langkah ideal bagi pemula yang ingin memasuki dunia pengembangan perangkat lunak dengan cepat dan efektif. Daripada mengandalkan pelajaran teori, menulis skrip yang sederhana dan praktis merupakan cara terbaik untuk memahami dasar-dasar bahasa dan menerapkan konsep secara langsung. Dalam artikel ini, Anda akan mempelajari serangkaian skrip Python dasar yang akan membantu Anda memulai dengan percaya diri, yang mencakup aspek-aspek penting seperti penanganan string, kalkulasi, file, dan struktur data dasar.
Python merupakan salah satu bahasa pemrograman yang paling mudah dipelajari, berkat pendekatan berorientasi objek dan sintaksisnya yang sederhana. Pustaka standarnya mencakup banyak modul bermanfaat yang dapat Anda gunakan untuk menulis semua jenis program, baik besar maupun kecil.
Semua skrip di sini berukuran kecil, dengan fokus khusus pada tugas yang bermanfaat. Anda dapat menggunakannya tidak hanya untuk aktivitas sehari-hari, tetapi juga mengembangkan dan memperluasnya untuk menambahkan fungsionalitas tambahan.
1. Ganti nama file batch
Mengganti nama sekelompok file bisa menjadi tugas yang sulit. Jika Anda mengingat sintaks bahasa shell, Anda dapat mengetik perintah dengan cepat, atau Anda dapat mengandalkan program eksternal seperti rename.
Program Python sederhana ini mengganti nama semua berkas di folder Anda saat ini yang berisi teks tertentu, mengganti teks tersebut dengan pola tertentu. Anda dapat menggunakannya, misalnya, untuk mengubah sekelompok ekstensi dari ".htm" menjadi ".html."
import os, sys
if len(sys.argv) < 3:
sys.exit("usage: " + sys.argv[0] + " search replace")
for filename in os.listdir("."):
new_filename = filename.replace(sys.argv[1], sys.argv[2])
if new_filename != filename:
os.rename(
os.path.join(".", filename),
os.path.join(".", new_filename),
)
Skrip ini mengimpor dua modul tingkat rendah yang berguna: os dan sys. Yang terakhir digunakan segera untuk memeriksa jumlah argumen (sys.argv) dan keluar jika jumlah argumen yang diberikan terlalu rendah.
Perulangan for utama kemudian mengulangi semua nama file dalam direktori saat ini (.). Fungsi replace dari kelas String mencoba mengganti argumen pertama dengan argumen kedua.
Pemeriksaan terakhir untuk melihat apakah nama file telah berubah diikuti dengan pemanggilan fungsi os.rename(), yang memperbarui file jika perlu.
Peringatan
Skrip ini tidak memiliki penanganan kesalahan yang komprehensif, jadi sebaiknya batasi penggunaannya hanya untuk pencarian dan penggantian string teks. Selalu berhati-hati saat menggunakan operasi batch yang dapat memengaruhi banyak file.
2. Pembuat Gambar Mini
Skrip empat baris berikut menunjukkan kekuatan pustaka yang mudah digunakan, dalam hal ini Pillow. Cabang Pustaka Pencitraan Python ini berisi berbagai fungsi pemrosesan gambar, yang mendukung segala hal mulai dari skrip sederhana hingga editor grafis lengkap.
Nasihat
Anda perlu memasang pustaka Pillow sebelum menjalankan skrip ini. Perintah brew install pillow berhasil bagi saya di macOS, tetapi Anda juga dapat mencoba pip, yang direkomendasikan oleh halaman instalasi.
Skrip ini menggunakan tiga metode dari modul Gambar untuk membuka file, membuat gambar mini, dan menyimpannya ke file kedua:
from PIL import Image
image = Image.open("image.jpg")
image.thumbnail((500, 500))
image.save("image_thumb.jpg")
Perhatikan bagaimana fungsi thumbnail mengambil satu parameter, yaitu grup. Fungsi ini akan membuat gambar dalam proporsi yang sama dengan gambar asli, dengan lebar dan tinggi maksimum sesuai dengan dimensi yang Anda tentukan.
Fungsi ini sendiri memiliki kegunaan yang terbatas, karena nama file dan dimensinya telah diprogram sebelumnya. Anda dapat memperluas fungsinya dengan meneruskan nilai-nilai ini sebagai parameter baris perintah, menggunakan versi skrip kedua yang tidak jauh lebih besar:
from PIL import Image
import sys
if len(sys.argv) < 4:
sys.exit("usage: " + sys.argv[0] + " image width height")
image = Image.open(sys.argv[1])
image.thumbnail((int(sys.argv[2]), int(sys.argv[3])))
image.save("thumb.jpg")
Perhatikan bahwa nama file thumbnail terakhir masih diprogram sebelumnya. Sebagai bonus tambahan, Anda dapat membuat nama file berdasarkan nama asli, atau menerima parameter baris perintah keempat.
3. Server web sederhana
Server web sederhana bisa sangat berguna; saya menggunakannya untuk menelusuri dan mengakses berkas dengan cepat di komputer lokal saya. Server web juga bisa menjadi alat yang berguna untuk pengembangan web.
Beberapa server web sesederhana ini:
import http.server, socketserver
port = 8001
with socketserver.TCPServer(
("", port), http.server.SimpleHTTPRequestHandler
) as httpd:
print(f"Serving at port {port}")
httpd.serve_forever()
Modul http.server dan socketserver melakukan sebagian besar pekerjaan di sini. Port dan SimpleHTTPRequestHandler diteruskan ke instance TCPServer generik, yang menyajikan file dari direktori saat ini melalui HTTP. Fungsi Serve_forever (diwarisi dari kelas socketserver.BaseServer) menangani permintaan hingga fungsi shutdown() dipanggil.
Peringatan
Seperti yang diperingatkan dalam dokumentasi Python, modul http.server tidak memiliki keamanan yang memadai dan tidak ditujukan untuk penggunaan produksi.
Meskipun ini hanya server demo, ia bagus untuk penggunaan pribadi dan kesederhanaannya tak tertandingi.
4. Generator Kata Sandi Acak
Baik untuk akun pengguna baru, formulir web, atau pekerjaan pengembangan Anda sendiri, kata sandi acak sering kali diperlukan. Disarankan untuk menggunakan pengelola kata sandi, tetapi ini tidak selalu mudah. Dengan skrip Anda sendiri, Anda dapat mengontrol detail-detail kecil dan menyempurnakannya agar sesuai dengan kebutuhan Anda.
import string, random
def main(length: int) -> str:
characters = string.ascii_letters + string.digits + string.punctuation
return "".join(random.choice(characters) for i in range(length))
print(main(32))
Skrip ini menggunakan modul string dan random untuk menghasilkan kata sandi acak hanya dalam lima baris. Modul string berisi konstanta berguna yang berisi kombinasi karakter individual, seperti angka dan huruf. Dengan menggabungkan konstanta ini dan memilih angka acak, skrip menyusun serangkaian karakter untuk menghasilkan kata sandi akhir.

5. Pemeriksa Harga Mata Uang Kripto
Skrip ini menunjukkan kekuatan API yang sederhana dan bersih. API yang digunakannya bekerja dari coinecko – Melalui HTTP, membuatnya mudah dibawa dan didukung.
Sebelum menjalankan skrip ini, periksa respons API dari titik akhir yang digunakannya, /sederhana/harga. Anda akan melihat bahwa ia mengembalikan data dalam format JSON dengan entri mata uang yang dimasukkan dalam parameter ids.
import urllib.request, json
def get_crypto_prices():
url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,litecoin&vs_currencies=usd"
ufile = urllib.request.urlopen(url)
text = ufile.read()
return json.loads(text)
crypto_prices = get_crypto_prices()
for coin, value in crypto_prices.items():
print(f"{coin.capitalize()}: ${value['usd']}")
Modul urllib.request menyertakan fungsi urlopen() yang mengambil konten URL dan mengembalikan objek HTTPResponse. Membaca teksnya dan meneruskannya ke fungsi json.loads() akan menghasilkan objek kamus yang setara.

JSON adalah format yang sangat populer untuk API web karena mudah dibaca secara sintaksis, membuatnya mudah diurai dan diuji.
6. Pembangkit Tabel ASCII
Set karakter ASCII terdiri dari 128 karakter bahasa Inggris umum yang digunakan dalam berbagai konteks komputasi. Sebagian besar bahasa pemrograman mendukung konversi karakter ASCII menjadi karakter terpisah dan sebaliknya, tetapi terkadang ada baiknya untuk menampilkan semua karakter ASCII sekaligus.
for i in range(32, 128):
print("{:03d}".format(i) + " " + chr(i), end=" ")
if (i - 1) % 10 == 0:
print()
print()
Skrip ini mencetak tabel yang berisi semua karakter ASCII dari 32 hingga 127, masing-masing di samping titik kodenya:

Hal pertama yang perlu diperhatikan adalah bagaimana fungsi bawaan Python range() menangani parameternya: fungsi ini mengulang parameter pertama, tetapi berhenti sebelum mencapai parameter kedua. Dalam bahasa seperti JavaScript, for loop yang setara akan terlihat seperti ini:
untuk (saya = 0; Saya 128; saya++) { … }
Sebagian besar pekerjaan yang tersisa ada di baris print(), dan melibatkan pemformatan setiap titik kode ke lebar tetap tiga bit. Fungsi chr() mengembalikan karakter yang diberikan kode ASCII-nya.
Nasihat
Salah satu sifat ASCII yang bermanfaat, yang diilustrasikan oleh tabel ini, adalah bahwa setiap huruf kecil (az) berukuran 32 kali lebih besar daripada huruf besarnya.
Metode yang tersisa adalah mencetak karakter baris baru pada titik yang sesuai, sehingga hasilnya terbagi rapi ke dalam baris. Operator ini menggunakan % untuk memeriksa sisa indeks rentang saat membagi dengan 10, memastikan bahwa ada sepuluh karakter pada setiap baris.
Cobalah skrip yang telah kami ulas dan sesuaikan dengan proyek kecil Anda untuk menguasai dasar-dasar pemrograman Python dengan cepat. Jika Anda memiliki skrip lain yang menurut Anda berguna untuk pemula, bagikan dengan kami di kolom komentar sehingga semua orang dapat memperoleh manfaat darinya dan mengembangkan keterampilan mereka bersama.



