Modul Python

Halo di sana, para penyihir Python masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia modul Python. Jangan khawatir jika kamu masih baru di bidang pemrograman; saya akan menjadi pemandumu yang ramah, menjelaskan semuanya langkah demi langkah. Jadi, ambil tongkatmu virtual (papan ketik), dan mari kita melompat!

Python - Modules

Modul Python

Bayangkan jika kamu sedang membangun sebuah istana penyihir (programmu)._instead of constructing everything from scratch, wouldn't it be great if you had pre-built towers, walls, and gates that you could just snap into place? Itulah yang dimaksud dengan modul dalam Python - kode yang sudah ditulis sebelumnya yang dapat kamu gunakan dengan mudah di program kamu.

Modul Yang Terinstall Dalam Python

Python datang dengan rak penyimpanan penuh modul yang terinstall. Ini seperti sihir gratis yang kamu bisa gunakan segera. Mari kita coba satu!

import random

# Generate sebuah angka acak antara 1 dan 10
angka_sihir = random.randint(1, 10)
print(f"Angka sihir kamu adalah: {angka_sihir}")

Dalam contoh ini, kita menggunakan modul random untuk menghasilkan angka acak. Ini seperti mengambil seekor kelinci dari topi, tapi dengan angka!

Modul Yang Didefinisikan Pengguna

Meskipun modul yang terinstall sangat bagus, terkadang kamu perlu membuat sihirmu sendiri. Itulah saat modul yang didefinisikan pengguna menjadi sangat berguna.

Membuat Modul Python

Mari kita buat sebuah modul sederhana bernama magic_spells.py:

# magic_spells.py

def angkat(objek):
return f"{objek} sedang mengambang di udara!"

def hilang(objek):
return f"{objek} telah menghilang ke udara!"

Sekarang kita punya modul kita sendiri dengan dua fungsi penyihir!

Pernyataan import

Untuk menggunakan modul yang baru kita buat, kita perlu mengimportnya:

import magic_spells

# Gunakan fungsi dari modul kita
print(magic_spells.angkat("buku"))
print(magic_spells.hilang("kelinci"))

Output:

buku sedang mengambang di udara!
kelinci telah menghilang ke udara!

Pernyataan from ... import

Terkadang, kamu hanya perlu spell tertentu dari sebuah modul. Itulah saat from ... import menjadi sangat berguna:

from magic_spells import angkat

# Sekarang kita bisa menggunakan angkat secara langsung tanpa awalan magic_spells
print(angkat("kursi"))

Output:

kursi sedang mengambang di udara!

Pernyataan from...import *

Jika kamu ingin mengimport semua spell dari sebuah modul, kamu bisa menggunakan from...import *:

from magic_spells import *

# Sekarang kita bisa menggunakan semua fungsi secara langsung
print(angkat("meja"))
print(hilang("topi"))

Namun, harap hati-hati dengan ini! Ini seperti membuka rak Pandora - kamu mungkin secara tidak sengaja menimpa fungsi yang sudah ada jika mereka memiliki nama yang sama.

Pernyataan import ... as

Terkadang, nama modul bisa panjang atau membingungkan. Kamu bisa memberikan mereka sebuah alias menggunakan import ... as:

import magic_spells as spells

print(spells.angkat("pensil"))

Menemukan Modul

Python mencari modul di beberapa tempat:

  1. Direktori saat ini
  2. PYTHONPATH (jika diatur)
  3. Direktori default yang bergantung pada instalasi

Variabel PYTHONPATH

PYTHONPATH adalah seperti peta penyihir yang memberitahu Python tempat mencari modul tambahan. Kamu bisa mengaturnya di variabel lingkungan sistem kamu.

Namespaces dan Scoping

Pandang namespace sebagai realm yang berbeda di dunia penyihir kamu. Setiap modul memiliki namespace sendiri, mencegah konflik antara fungsi atau variabel dengan nama yang sama.

Atribut Modul

Modul memiliki atribut khusus. Mari kita eksplorasi beberapa:

import magic_spells

print(magic_spells.__name__)  # Cetak nama modul
print(magic_spells.__file__)  # Cetak path file modul

Atribut name

Atribut __name__ adalah khusus. Ini adalah __main__ saat skrip dijalankan langsung, dan nama modul saat diimpor.

# Di magic_spells.py, tambahkan:
if __name__ == "__main__":
print("Modul ini sedang dijalankan langsung")
else:
print("Modul ini sedang diimpor")

Fungsi dir()

Fungsi dir() adalah seperti cermin penyihir yang menunjukkan semua nama yang didefinisikan di modul:

import magic_spells

print(dir(magic_spells))

Fungsi reload()

Jika kamu membuat perubahan di modul dan ingin memuat ulang tanpa memulai ulang Python, kamu bisa menggunakan reload():

from importlib import reload
import magic_spells

# Buat perubahan di magic_spells.py
reload(magic_spells)

Paket di Python

Paket adalah seperti buku penyihir yang berisi beberapa modul. Mereka adalah hanya direktori dengan file khusus __init__.py.

Berikut adalah tabel yang ringkasan metode impor yang kita pelajari:

Metode Sintaks Contoh
Import Dasar import nama_modul import magic_spells
From Import from nama_modul import nama_fungsi from magic_spells import angkat
Import Semua from nama_modul import * from magic_spells import *
Import sebagai Alias import nama_modul as alias import magic_spells as spells

Dan itu sudahlah, murid-murid! Kamu baru saja belajar dasar-dasar modul Python. Ingat, praktek membuat perfect, jadi terus eksperimen dengan modul yang berbeda dan buat dunia penyihir Python kamu sendiri. Happy coding!

Credits: Image by storyset