Lompati ke konten utama
Modul 7 · Pelajaran 4 dari 428/36 dalam kursus~10 min
Pelajaran modul (4/4)

impor dan modul

Modul dengan Python hanyalah file .py. Untuk menggunakan kode modul dari file lain, Anda mengimpornya.

Bentuk import

Python
# 1) import del modulo intero
import math
math.sqrt(16)        # 4.0
math.pi              # 3.14159...

# 2) import di nomi specifici
from math import sqrt, pi
sqrt(16)             # ora direttamente disponibile
pi

# 3) import con alias
import numpy as np      # convenzione idiomatica
from datetime import datetime as dt

# 4) import "star" (sconsigliato)
from math import *      # inquina il namespace, evita

Dimana Python mencari modul

Python mencari modul di sys.path, yang meliputi:

  1. direktori skrip yang sedang berjalan,
  2. direktori di PYTHONPATH,
  3. perpustakaan yang diinstal (site-packages).
Python
import sys
sys.path     # lista di directory

Membuat modul

Buat mio_modulo.py:

Python
# mio_modulo.py
PI = 3.14159

def area_cerchio(r):
    return PI * r * r

Dari file lain di direktori yang sama:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __name__ == "__main__":

Saat skrip dieksekusi secara langsung, variabel khususnya __name__ sama dengan "__main__". Saat file yang sama diimpor sebagai modul, __name__ sama dengan nama modul.

Python
# strumento.py

def fai_qualcosa():
    print("lavoro!")

if __name__ == "__main__":
    # eseguito solo se lanci `python strumento.py`
    # NON viene eseguito se qualcuno importa questo file
    fai_qualcosa()

Ini adalah pola standar untuk file yang dapat berfungsi sebagai dapat digunakan kembali modul dan skrip yang dapat dieksekusi.

Paket: folder modul

Direktori yang berisi file __init__.py (bahkan yang kosong) menjadi file paket yang dapat diimpor:

Code
mio_pkg/
    __init__.py
    utenti.py
    pagamenti.py
Python
from mio_pkg import utenti
from mio_pkg.utenti import crea_utente

Giliranmu

Latihan#python.m7.l4.e1
Upaya: 0Memuat…

Impor fungsi `sqrt` dari modul `math` (dengan `from math import sqrt`), lalu hitung akar kuadrat dari 144 dan tetapkan ke `r`. Evaluasi `r`.

Memuat editor…
Tunjukkan petunjuk

dari matematika impor sqrt

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#python.m7.l4.e2
Upaya: 0Memuat…

Impor modul `random` dengan alias `rnd` (`import random as rnd`), lalu atur seed ke 42 dengan rnd.seed(42), dan evaluasi rnd.randint(1, 100).

Memuat editor…
Tunjukkan petunjuk

impor acak sebagai rnd

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#python.m7.l4.e3
Upaya: 0Memuat…

Import the `sin` and `cos` functions directly from the `math` module using `from ... import ...`. Calculate the sum of `sin(0)` and `cos(0)`, store it in `trig_sum`, and evaluate it.

Memuat editor…
Tunjukkan petunjuk

sin(0) menghasilkan 0,0, cos(0) menghasilkan 1,0. Jumlahnya adalah 1,0. Gunakan dari matematika impor sin, cos.

Solusi tersedia setelah 3 upaya