Impor modul masuk Python dengan Contoh

โšก Ringkasan Cerdas

Impor masuk Python Memungkinkan satu file untuk menggunakan kembali variabel, fungsi, dan kelas yang didefinisikan dalam file lain. Modul hanyalah sebuah file .py, sedangkan paket mengelompokkan modul-modul terkait di dalam direktori yang ditandai dengan file __init__.py.

  • ๐Ÿ”˜ Apa itu modul? Modul adalah sebuah file .py tunggal yang berisi variabel, fungsi, atau kelas.
  • โ˜‘๏ธ kata kunci impor: `import` memuat seluruh modul; `module_name.function_name` memanggil anggota-anggotanya.
  • โœ… Impor selektif: `from module import name` hanya akan mengambil fungsi atau variabel yang Anda butuhkan.
  • ๐Ÿงช Alias: `import module as alias` mempersingkat nama yang panjang; `from module import *` menampilkan semuanya.
  • ๏ธ Paket dan jalur: __init__.py mengubah folder menjadi paket; sys.path mencantumkan lokasi pencarian.
  • ๐Ÿค– Alur kerja AI: Proyek pembelajaran mesin mengimpor NumPy, pandas, dan Py.Torch sebagai modul.

Impor modul masuk Python

Bagian-bagian di bawah ini menjelaskan modul, paket, berbagai gaya impor, dan cara kerja impor absolut dan relatif. Python.

Apa saja modul yang ada di dalamnya Python?

Modul adalah sebuah file yang berisi Python Kode. Kode tersebut dapat berupa variabel, fungsi, atau kelas yang telah didefinisikan. Nama file menjadi nama modul.

Misalnya, jika nama file Anda adalah guru99.py, maka nama modulnya adalah guru99. Dengan fungsionalitas modul, Anda dapat memecah kode Anda menjadi beberapa file berbeda daripada menulis semuanya di dalam satu file.

Apa Python modul impor?

Sebuah file dianggap sebagai modul dalam PythonUntuk menggunakan modul ini, Anda harus mengimpornya menggunakan mengimpor kata kunci. Fungsi atau variabel yang ada di dalam file dapat digunakan di file lain dengan mengimpor modul. Fungsionalitas ini tersedia di bahasa lain seperti TypeScript, JavaNaskah, Java, Rubi, dll.

Cara membuat dan mengimpor modul Python?

Sekarang kita akan membuat modul dan mengimpornya ke dalam file lain.

Berikut alur untuk membuat dan mengimpor modul seperti yang ditunjukkan pada tangkapan layar:

Buat dan Impor Modul Python

Ikuti langkah-langkah yang diberikan untuk membuat modul di Python.

Struktur folder yang digunakan untuk menguji kode adalah sebagai berikut:

modtest/
	test.py
	display.py	

Langkah 1) Buat sebuah file dan beri nama test.py

Langkah 2) Di dalam test.py buat fungsi bernama display_message()

Def display_message():
    return "Welcome to Guru99 Tutorials!"

Langkah 3) Sekarang buat file lain display.py.

Langkah 4) Di dalam file display.py, impor modul test.py, seperti yang ditunjukkan di bawah ini:

import test

Saat mengimpor, Anda tidak perlu menyebutkan test.py, cukup sebutkan nama filenya saja.

Langkah 5) Kemudian Anda dapat memanggil fungsi display_message() dari test.py di dalam display.py. Anda perlu menggunakan module_name.function_name.

Misalnya tes.display_message().

Import test
print(test.display_message())

Langkah 6) Saat Anda menjalankan display.py, Anda akan mendapatkan hasil berikut. Keluaran:

Welcome to Guru99 Tutorials!

Mengimpor Kelas masuk Python

Sebelumnya, kita telah melihat modul sederhana dengan sebuah fungsi. Di sini kita akan membuat sebuah kelas dan merujuk kelas tersebut di dalam file lain.

Struktur folder untuk menguji kode adalah sebagai berikut:

myproj/
	Car.py
	display.py

Buat file bernama Car.py dengan kode berikut:

Nama file : Mobil.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

Dalam file Car.py, terdapat atribut brand_name, model, dan manu_year. Fungsi-fungsi yang didefinisikan di dalam kelas tersebut adalah car_details(), get_Car_brand(), dan get_Car_model().

Sekarang mari kita gunakan file Car.py sebagai modul di file lain bernama display.py.

Nama file : display.py

import Car
car_det = Car.Car("BMW","Z5", 2020)
print(car_det.brand_name)
print(car_det.car_details())
print(car_det.get_Car_brand())
print(car_det.get_Car_model())

Keluaran:

BMW
Car brand is  BMW
Car model is  Z5
Car manufacture year is  2020
Car brand is  BMW
Car model is  Z5

Jadi kita bisa mengakses semua variabel dan fungsi dari Car.py menggunakan modul Car.

Menggunakan modul dari untuk mengimpor

Anda dapat mengimpor hanya sebagian kecil dari modul, yaitu hanya fungsi dan nama variabel yang dibutuhkan dari modul tersebut, alih-alih mengimpor seluruh kode.

Jika Anda hanya ingin mengimpor hal-hal tertentu, Anda dapat menggunakan kata kunci "from" untuk mengimpor apa yang Anda inginkan.

Jadi sintaksnya adalah

from  module import your function_name , variables,... etc.

Struktur folder yang digunakan untuk menguji kode adalah sebagai berikut:

modtest/
	test.py
	display.py	

Di dalam file test.py terdapat 2 fungsi seperti yang ditunjukkan:

Nama file : test.py

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
def display_message1():
	return "All about Python!"

Sekarang Anda ingin menggunakan fungsi display_message(). Fungsi atau variabel yang Anda impor dapat diakses langsung seperti yang ditunjukkan di bawah ini:

Nama File : display.py

from test import display_message
print(display_message())

Keluaran:

Welcome to Guru99 Tutorials!

Jika Anda menggunakan fungsi display_message1(), maka akan muncul kesalahan bahwa fungsi tersebut tidak didefinisikan seperti yang ditunjukkan di bawah ini:

from test import display_message
print(display_message1())

Keluaran:

Traceback (most recent call last):
File "display.py", line 3, in <module>
print(display_message1())
Name Error: name 'display_message1' is not defined

Mengimpor semuanya dari modul

Import memungkinkan Anda mengimpor modul lengkap dengan menggunakan perintah import diikuti dengan nama modul, yaitu nama file atau pustaka yang akan digunakan.

sintaks:

Import module

Atau dengan menggunakan

from module import *

Struktur folder yang digunakan untuk menguji kode adalah sebagai berikut:

modtest/
	test.py
	display.py	

Berikut ini adalah rincian kode di dalam test.py

my_name = "Guru99"
my_address = "Mumbai"

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
	
def display_message1():
	return "All about Python!"

Menggunakan modul impor

Jika hanya menggunakan nama modul impor, untuk merujuk ke variabel dan fungsi di dalam modul, Anda harus menambahkan nama modul di depannya.

Example

Nama file : display.py

Import test
print(test.display_message())
print(test.display_message1())
print(test.my_name)
print(test.my_address)

Nama modul "test" digunakan untuk merujuk pada fungsi dan variabel di dalam modul "test".

Keluaran:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Menggunakan impor *

Mari kita lihat contoh penggunaan impor *. Menggunakan impor *, fungsi dan variabel dapat diakses langsung, seperti yang ditunjukkan pada contoh di bawah ini:

from test import *

print(display_message())
print(display_message1())
print(my_name)
print(my_address)

Keluaran:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Fungsi dir()

Fungsi dir() adalah fungsi bawaan di PythonFungsi `dir()` mengembalikan semua properti dan metode, termasuk properti bawaan dari objek yang diberikan.

Jadi, ketika dir() digunakan pada modul, itu akan memberi Anda variabel dan fungsi yang ada di dalam modul tersebut.

Berikut adalah contoh penggunaan fungsi dir() pada sebuah modul. Kita memiliki sebuah kelas bernama Car.py, mari kita impor Car dan berikan nilai ke fungsi dir() untuk melihat hasilnya.

Struktur folder untuk menguji kodenya adalah sebagai berikut:

test prop/
	Car.py
	test.py	

Nama file: Mobil.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

Nama file: test.py

import Car

class_contents = dir(Car)
print(class_contents)

Outputnya memberi kita nama kelas dan semua fungsi yang didefinisikan di Car.py.

Anda juga dapat mencoba menggunakan dir() pada modul bawaan yang tersedia PythonMari kita coba hal yang sama pada json modul seperti yang ditunjukkan pada contoh di bawah ini. Ini akan menampilkan semua properti dan metode yang tersedia di dalamnya. json modul.

Import json
json_details = dir(json)
print(json_details)

Keluaran:

['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__bu
iltins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__pac
kage__', '__path__', '__spec__', '__version__', '_default_decoder', '_default_en
coder', 'codecs', 'decoder', 'detect_encoding', 'dump', 'dumps', 'encoder', 'loa
d', 'loads', 'scanner']

Paket Exklusif

Paket adalah direktori dengan semua modul yang ditentukan di dalamnya. Untuk membuat a Python Jika interpreter memperlakukannya sebagai sebuah paket, direktori Anda harus memiliki file __init__.py. File __init__.py menjadikan direktori tersebut sebagai sebuah paket. Berikut adalah tata letak paket yang akan kita kerjakan.

Paket masuk Python

Nama paketnya adalah paket sayaUntuk mulai menggunakan paket ini, buat direktori bernama mypackage/. Di dalam direktori tersebut, buat file kosong bernama __init__.py. Buat 3 file lagi yaitu module1.py, module2.py, dan module3.py dan definisikan fungsi-fungsi seperti yang ditunjukkan pada tangkapan layar. Berikut detail dari module1.py, module2.py, dan module3.py

modul1.py

def mod1_func1():
print("Welcome to Module1 function1")

def mod1_func2():
print("Welcome to Module1 function2")

def mod1_func3():
print("Welcome to Module1 function3")

modul2.py

def mod2_func1():
print("Welcome to Module2 function1")

def mod2_func2():
print("Welcome to Module2 function2")

def mod2_func3():
print("Welcome to Module2 function3")

modul3.py

def mod3_func1():
print("Welcome to Module3 function1")

def mod3_func2():
print("Welcome to Module3 function2")

def mod3_func3():
print("Welcome to Module3 function3")

The paket sudah siap digunakan. Sekarang panggil paket tersebut di dalam file mana pun seperti yang ditunjukkan di bawah ini pada test.py:

Di sini, mypackage.module1 diimpor dan diberi nama alias sebagai mode1Demikian pula, Anda dapat menggunakan modul lain, yaitu module2.py dan module3.py, dari mypackage.

import mypackage.module1 as mod1

print(mod1.mod1_func1())
print(mod1.mod1_func2())
print(mod1.mod1_func2())

Keluaran:

Welcome to Module1 function1
None
Welcome to Module1 function2
None
Welcome to Module1 function2
None

Kami baru saja mendemonstrasikan paket dengan modul sederhana yang berisi fungsi-fungsi di dalamnya. Sesuai dengan proyek Anda, Anda juga dapat membuat paket yang memiliki sub-paket, yaitu sub-folder yang berisi modul dengan kelas-kelas yang telah ditentukan.

Python Jalur Pencarian Modul

Selama eksekusi, ketika Python menemukan impor nama modulPenerjemah mencoba menemukan modul tersebut. Ia mencari modul tersebut dalam daftar modul bawaan, dan kemudian di semua direktori yang didefinisikan di dalam sys.path.

Singkatnya, penerjemah melakukan pencarian berikut untuk menemukan modul:

  1. Di direktori Anda saat ini.
  2. Dalam daftar modul bawaan.
  3. Di dalam direktori sys.path.

Anda bisa mendapatkan detail sys.path dengan mengimpor modul sys dan mencetak sys.path. Ini akan memberi Anda daftar direktori seperti yang ditunjukkan di bawah ini:

importsys
print(sys.path)

Keluaran:

['Python Latest\\task2', 'Users\\AppData\\Local\\Programs\\Python\
\Python37\\python37.zip', 'Users\\AppData\\Local\\Programs\\Python\\P
ython37\\DLLs']

Anda juga dapat mengubah jalur dan menyimpan direktori sesuai kebutuhan Anda.

Menggunakan alias modul dalam impor

Anda juga dapat mengubah nama modul menjadi bentuk yang lebih pendek dengan memberinya nama alias. Alias โ€‹โ€‹dapat dibuat menggunakan as kata kunci.

sintaks:

import filename as alias name

Struktur folder untuk menguji kodenya adalah sebagai berikut:

Mod test/
	test.py
	display.py	

Berikut ini adalah kode di dalam test.py

my_name = "Guru99"
my_address = "Mumbai"

def display_message():
	return "Welcome to Guru99 Tutorials!"	
	
def display_message1():
	return "All about Python!"

Sekarang kita akan menggunakan alias untuk test.py di display.py

Import test as t

print(t.display_message())
print(t.display_message1())
print(t.my_name)
print(t.my_address)

Alias โ€‹โ€‹yang digunakan untuk modul pengujian adalah t. Jadi, fungsi dan variabel dari test.py dapat dirujuk menggunakan alias t.

Keluaran:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Impor Absolut dan Relatif masuk Python

Anda sekarang tahu cara mengimpor file sebagai modul di dalam file lain. Sekarang mari kita lihat cara mengelola file yang tersedia di folder. File dalam folder dapat diimpor dengan menggunakan impor absolut atau relatif.

Anggaplah Anda memiliki struktur folder proyek, seperti yang ditunjukkan di bawah ini:

Impor Absolut dan Relatif masuk Python

Folder utama adalah myproject/. Folder ini memiliki dua subfolder, yaitu package1 dan package2.

Folder package1 memiliki dua modul, module1.py dan module2.py.

Folder package2 memiliki satu kelas myclass.py, sub-paket subpkg dengan module3.py, dan terakhir module4.py.

  • Di dalam module1.py, terdapat sebuah fungsi bernama myfunc1.
  • Di dalam module2.py, terdapat sebuah fungsi bernama myfunc2.
  • Di dalam module3.py, terdapat sebuah fungsi bernama myfunc3.
  • Di dalam module4.py, terdapat sebuah fungsi bernama myfunc4.

Menggunakan Impor Absolut

Untuk impor absolut, Anda perlu menambahkan seluruh jalur modul Anda langsung dari folder root proyek.

Sekarang mari kita lihat bagaimana cara menggunakan impor absolut untuk merujuk ke fungsi-fungsi yang ada di setiap modul.

Untuk menggunakan fungsi myfunc1, Anda perlu mengimpornya sebagai berikut:

from package1.module1  import  myfunc1
or
from package1 import module1
module1.myfunc1()  

Untuk menggunakan fungsi myfunc3, Anda perlu mengimpornya sebagai berikut:

from package1.subpkg.module3  import  myfunc3
or
from package1.subpkg import module3
module3.myfunc3()  

Keuntungan dan Kerugian menggunakan impor absolut

Berikut keuntungan menggunakan impor absolut:

  • Hal ini menjadi mudah untuk tracKembalikan modul-modul tersebut untuk pemeriksaan kode.
  • Mudah digunakan dan sangat mudah.
  • Jika proyek dipindahkan ke jalur yang berbeda, impornya akan tetap sama.

Kerugian menggunakan impor absolut

Berikut adalah kerugian menggunakan impor absolut:

  • Jalur impor dapat menjadi sangat panjang jika modul-modul tersebut bersarang dan nama modulnya panjang.

Menggunakan Impor Relatif

Dengan mempertimbangkan struktur folder yang sama seperti yang disebutkan di atas, kita akan melihat bagaimana cara mengimpornya menggunakan impor relatif.

Dalam impor relatif, modul yang akan diimpor bersifat relatif terhadap lokasi saat ini, yaitu lokasi tempat pernyataan impor berada.

Sintaksis

Dalam impor relatif, Anda perlu menambahkan titik (.) sebelum nama modul saat mengimpor menggunakan dari.

Akan ada dua titik (..) sebelum nama modul jika modul tersebut satu tingkat di atas lokasi saat ini.

Merujuk pada gambar struktur folder yang disebutkan di atas, kita memiliki modul-modul berikut beserta fungsinya, yang perlu kita perhatikan.

  • Di dalam module1.py, terdapat sebuah fungsi bernama myfunc1.
  • Di dalam module2.py, terdapat sebuah fungsi bernama myfunc2.
  • Di dalam module3.py, terdapat sebuah fungsi bernama myfunc3.
  • Di dalam module4.py, terdapat sebuah fungsi bernama myfunc4.

Untuk menggunakan fungsi myfunc1, Anda perlu mengimpornya sebagai berikut:

from  .module1  import  myfunc1

Untuk menggunakan fungsi myfunc3, Anda perlu mengimpornya sebagai berikut:

from  .subpkg.module3  import  myfunc3

Keuntungan Impor Relatif

  • Sangat mudah untuk bekerja dengan impor relatif.
  • Dari lokasi saat ini, impor dapat dipersingkat dibandingkan dengan impor absolut.

Kerugian Impor Relatif

  • Dengan menggunakan impor relatif, akan sulit untuk trackembali ke tempat kode tersebut berada.

Pertanyaan Umum Demo Slot

Python Modul tidak dapat ditemukan. Pastikan nama file sudah benar, berada di sys.path atau di folder saat ini, dan paket sudah terinstal di lingkungan virtual aktif Anda. Jalankan pip install diikuti dengan nama paket untuk modul pihak ketiga.

Instal terlebih dahulu dengan biji, yang Python Gunakan pengelola paket, misalnya pip install pandas. Setelah terinstal di lingkungan Anda, impor seperti biasa dengan import pandas. Modul bawaan seperti json tidak memerlukan instalasi.

Impor melingkar terjadi ketika dua modul saling mengimpor, sehingga salah satu modul hanya dimuat sebagian. Perbaiki dengan menggabungkan kode yang digunakan bersama, mengimpor di dalam fungsi yang membutuhkannya, atau mengimpor seluruh modul alih-alih nama-nama tertentu.

Pengaman tersebut hanya menjalankan kode saat file dieksekusi secara langsung, bukan saat diimpor. Tanpa itu, setiap impor akan menjalankan kembali pernyataan tingkat atas modul. Ini menjaga agar fungsi yang dapat digunakan kembali terpisah dari kode pengujian bergaya skrip.

Nomor Python Menjalankan sebuah modul sekali, kemudian menyimpannya dalam cache di sys.modules dan menggunakan kembali objek tersebut untuk impor selanjutnya. Untuk memaksa pemuatan ulang selama pengembangan, panggil importlib.reload(module).

Gunakan `importlib.import_module(โ€œnameโ€)` ketika nama modul hanya diketahui saat program berjalan, misalnya saat memuat plugin. Fungsi ini mengembalikan objek modul, sehingga Anda dapat mengakses fungsinya seperti impor biasa.

Kode pembelajaran mesin mengimpor NumPy, pandas, scikit-learn, TensorFlow, dan Py.Torch sebagai modul. Tim juga membagi pipeline mereka sendiri menjadi modul dan paket yang dapat digunakan kembali, kemudian mengimpor fungsi pra-pemrosesan dan pelatihan bersama di seluruh skrip.

Ya. GitHub Copilot dan asisten agentic menyarankan baris impor saat Anda mengetik, menambahkan impor yang hilang, dan membantu menyelesaikan kesalahan impor. Selalu pastikan modul sudah terinstal dan namanya sesuai dengan lingkungan Anda sebelum mempercayai saran tersebut.

Ringkaslah postingan ini dengan: