Modul Python
Halo kepada semua penyihir Python masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke atas dunia modul Python. Jangan khawatir jika anda baru mengenal pemrograman; saya akan menjadi pemandu yang mesra anda, menjelaskan setiap langkah dengan perlahan. Jadi, ambil rakit penyelam anda (papan kekunci), dan mari kita kongsikan!
Modul Python
Bayangkan anda sedang membina istana penyihir (program anda). Daripada membina semua dari rakitan, apakah tidak baik jika anda ada menara, dinding dan gerbang yang sudah dipersediakan untuk diletakkan di tempat? Itulah yang dimaksudkan dengan modul di Python - kode yang sudah ditulis dan boleh digunakan dengan mudah dalam program anda.
Modul Terbina-dalam Python
Python datang dengan rakit penyimpanan modul terbina-dalam. Ini adalah seperti sihir penyihir yang percuma yang anda boleh gunakan serta-merta. Mari kita cuba satu!
import random
# Generate nombor rawak antara 1 dan 10
magic_number = random.randint(1, 10)
print(f"Nombor penyihir anda adalah: {magic_number}")
Dalam contoh ini, kita menggunakan modul random
untuk menghasilkan nombor rawak. Ia seperti mengeluarkan rakit di atas rakit, tetapi dengan nombor!
Modul Ditakrif-pengguna Python
Walaupun modul terbina-dalam adalah bagus, kadang-kadang anda perlu untuk membuat sihir penyihir anda sendiri. Itulah di mana modul ditakrif-pengguna menjadi berguna.
Membuat Modul Python
Mari kita membuat modul sederhana yang dipanggil magic_spells.py
:
# magic_spells.py
def angkat(objek):
return f"{objek} adalah ketinggalan di atas udara!"
def hilang(objek):
return f"{objek} telah hilang ke atas udara!"
Sekarang kita memiliki modul kita sendiri dengan dua fungsi penyihir!
Penggunaan Kata Kunci import
Untuk menggunakan modul yang baru dicipta, kita perlu untuk mengimportnya:
import magic_spells
# Gunakan fungsi dari modul kita
print(magic_spells.angkat("buku"))
print(magic_spells.hilang(" Arnab"))
Output:
buku adalah ketinggalan di atas udara!
Arnab telah hilang ke atas udara!
Penggunaan Kata Kunci from ... import
Kadang-kadang, anda hanya perlu sihir khusus dari modul. Itulah di mana from ... import
menjadi berguna:
from magic_spells import angkat
# Sekarang kita boleh menggunakan angkat secara langsung tanpa awalan magic_spells
print(angkat("kerusi"))
Output:
kerusi adalah ketinggalan di atas udara!
Penggunaan Kata Kunci from...import *
Jika anda mahu mengimport semua sihir dari modul, anda boleh menggunakan from...import *
:
from magic_spells import *
# Sekarang kita boleh menggunakan semua fungsi secara langsung
print(angkat("meja"))
print(hilang("topi"))
Namun, hati-hati dengan ini! Ia seperti membuka rakit Pandora - anda mungkin secara tak sengaja menulis ganti fungsi yang ada jika mereka memiliki nama yang sama.
Penggunaan Kata Kunci import ... as
Kadang-kadang, nama modul boleh panjang atau membingungkan. Anda boleh memberikan mereka nama samaran menggunakan import ... as
:
import magic_spells as spells
print(spells.angkat("pensel"))
Penemuan Modul
Python mencari modul di beberapa tempat:
- Direktori semasa
- PYTHONPATH (jika ditetapkan)
- Direktori lalai yang bergantung kepada pemasangan
Variabel PYTHONPATH
PYTHONPATH adalah seperti peta penyihir yang memberitahu Python di mana untuk mencari modul tambahan. Anda boleh menetapkannya di dalam variabel persekitaran sistem anda.
Namespace dan Scoping
Fikirkan namespace sebagai kerajaan penyihir yang berbeza di atas dunia penyihir anda. Setiap modul memiliki namespace sendiri, mencegah konflik antara fungsi atau variabel dengan nama yang serupa.
Atribut Modul
Modul memiliki atribut khusus. Mari kita eksplor beberapa:
import magic_spells
print(magic_spells.__name__) # Cetak nama modul
print(magic_spells.__file__) # Cetak laluan fail modul
Atribut name
Atribut __name__
adalah khusus. Ia adalah __main__
apabila skrip dijalankan secara langsung, dan nama modul apabila diimport.
# Di atas magic_spells.py, tambahkan:
if __name__ == "__main__":
print("Modul ini dijalankan secara langsung")
else:
print("Modul ini diimport")
Fungsi dir()
Fungsi dir()
adalah seperti cermin penyihir yang menunjukkan semua nama yang ditakrif dalam modul:
import magic_spells
print(dir(magic_spells))
Fungsi reload()
Jika anda membuat perubahan kepada modul dan mahu memuatkan semula tanpa memulakan semula Python, anda boleh menggunakan reload()
:
from importlib import reload
import magic_spells
# Buat perubahan kepada magic_spells.py
reload(magic_spells)
Paket di Python
Paket adalah seperti buku penyihir yang mengandungi beberapa modul. Mereka adalah hanya direktori dengan fail khas __init__.py
.
Berikut adalah rakaman yang menjelaskan metode import yang kita telah pelajari:
Method | Syntax | Example |
---|---|---|
Import Asas | import nama_modul |
import magic_spells |
Dari 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 adalah, pelatih! Anda baru saja belajar dasar-dasar modul Python. Ingat, latihan membuat perfect, jadi terus untuk mencuba modul yang berbeza dan buat dunia penyihir Python anda sendiri. Selamat coding!
Credits: Image by storyset