Pelajaran modul (4/4)
impor dan modul
Modul dengan Python hanyalah file .py. Untuk menggunakan kode modul
dari file lain, Anda mengimpornya.
Bentuk import
# 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, evitaDimana Python mencari modul
Python mencari modul di sys.path, yang meliputi:
- direktori skrip yang sedang berjalan,
- direktori di
PYTHONPATH, - perpustakaan yang diinstal (
site-packages).
import sys
sys.path # lista di directoryMembuat modul
Buat mio_modulo.py:
# mio_modulo.py
PI = 3.14159
def area_cerchio(r):
return PI * r * rDari file lain di direktori yang sama:
import mio_modulo
mio_modulo.area_cerchio(5) # 78.53975
from mio_modulo import area_cerchio, PIif __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.
# 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:
mio_pkg/
__init__.py
utenti.py
pagamenti.py
from mio_pkg import utenti
from mio_pkg.utenti import crea_utenteGiliranmu
Impor fungsi `sqrt` dari modul `math` (dengan `from math import sqrt`), lalu hitung akar kuadrat dari 144 dan tetapkan ke `r`. Evaluasi `r`.
Tunjukkan petunjuk
dari matematika impor sqrt
Solusi tersedia setelah 3 upaya
Tinjau latihan
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).
Tunjukkan petunjuk
impor acak sebagai rnd
Solusi tersedia setelah 3 upaya
Tantangan tambahan
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.
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