Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python - Modul

Halaman SebelumnyaHalaman Berikutnya

Modul memungkinkan Anda untuk mengatur kode Python Anda secara logis. Pengelompokan kode terkait ke dalam modul membuat kode lebih mudah dipahami dan digunakan. Modul adalah objek Python dengan atribut bernama arbitrer yang dapat Anda ikat dan rujuk.

Sederhananya, modul adalah file yang terdiri dari kode Python. Sebuah modul dapat mendefinisikan fungsi, kelas dan variabel. Modul juga dapat menyertakan kode yang dapat dijalankan.

Contoh

Kode Python untuk modul bernama nama biasanya berada dalam file bernama aname.py . Berikut ini contoh modul sederhana, support.py

def print_func( par ):
   print "Hello : ", par
   return

Impor Pernyataan

Anda dapat menggunakan file sumber Python apa pun sebagai modul dengan mengeksekusi pernyataan impor di beberapa file sumber Python lainnya. impor memiliki sintaks berikut

import module1[, module2[,... moduleN]

Ketika interpreter menemukan pernyataan impor, itu akan mengimpor modul jika modul ada di jalur pencarian. Jalur pencarian adalah daftar direktori yang dicari oleh interpreter sebelum mengimpor modul. Misalnya, untuk mengimpor modul support.py, Anda harus meletakkan perintah berikut di bagian atas skrip −

#!/usr/bin/python

# Import module support
import support

# Now you can call defined function that module as follows
support.print_func("Zara")

Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut

Hello : Zara

Modul dimuat hanya sekali, terlepas dari berapa kali diimpor. Ini mencegah eksekusi modul terjadi berulang-ulang jika terjadi banyak impor.

The dari...impor Pernyataan

dari Python Python pernyataan memungkinkan Anda mengimpor atribut tertentu dari modul ke namespace saat ini. dari...impor memiliki sintaks berikut

from modname import name1[, name2[, ... nameN]]

Misalnya, untuk mengimpor fungsi fibonacci dari modul fib, gunakan pernyataan berikut −

from fib import fibonacci

Pernyataan ini tidak mengimpor seluruh modul fib ke namespace saat ini; itu hanya memperkenalkan item fibonacci dari modul fib ke dalam tabel simbol global dari modul pengimpor.

The dari...impor * Pernyataan

Dimungkinkan juga untuk mengimpor semua nama dari modul ke namespace saat ini dengan menggunakan pernyataan impor berikut −

from modname import *

Ini menyediakan cara mudah untuk mengimpor semua item dari modul ke namespace saat ini; namun, pernyataan ini harus digunakan dengan hemat.

Menemukan Lokasi Modul

Saat Anda mengimpor modul, interpreter Python mencari modul dalam urutan berikut

Jalur pencarian modul disimpan dalam modul sistem sys sebagai sys.path variabel. Variabel sys.path berisi direktori saat ini, PYTHONPATH, dan default yang bergantung pada penginstalan.

PYTHONPATH Variabel

PYTHONPATH adalah variabel lingkungan, yang terdiri dari daftar direktori. Sintaks PYTHONPATH sama dengan sintaks PATH variabel shell.

Berikut adalah PYTHONPATH khas dari sistem Windows −

set PYTHONPATH = c:\python20\lib;

Dan ini adalah PYTHONPATH khas dari sistem UNIX

set PYTHONPATH = /usr/local/lib/python

Ruang Nama dan Cakupan

Variabel adalah nama (pengidentifikasi) yang dipetakan ke objek. Sebuah ruang nama adalah kamus nama variabel (kunci) dan objek yang sesuai (nilai).

Pernyataan Python dapat mengakses variabel dalam ruang nama lokal dan di ruang nama global . Jika variabel lokal dan global memiliki nama yang sama, variabel lokal akan membayangi variabel global.

Setiap fungsi memiliki namespace lokalnya sendiri. Metode kelas mengikuti aturan pelingkupan yang sama seperti fungsi biasa.

Python membuat tebakan terpelajar tentang apakah variabel bersifat lokal atau global. Diasumsikan bahwa setiap variabel yang diberi nilai dalam suatu fungsi adalah lokal.

Oleh karena itu, untuk menetapkan nilai ke variabel global dalam suatu fungsi, Anda harus terlebih dahulu menggunakan pernyataan global.

Pernyataan VarName global memberitahu Python bahwa VarName adalah variabel global. Python berhenti mencari namespace lokal untuk variabel.

Misalnya, kita mendefinisikan variabel Uang di ruang nama global. Dalam fungsi Uang , kami menetapkan Uang nilai, oleh karena itu Python mengasumsikan Uang sebagai variabel lokal. Namun, kami mengakses nilai variabel lokal Uang sebelum mengaturnya, jadi hasilnya adalah UnboundLocalError. Membatalkan komentar pada pernyataan global akan menyelesaikan masalah.

#!/usr/bin/python

Money = 2000
def AddMoney():
   # Uncomment the following line to fix the code:
   # global Money
   Money = Money + 1

print Money
AddMoney()
print Money

Fungsi dir()

Fungsi bawaan dir() mengembalikan daftar string yang diurutkan yang berisi nama-nama yang ditentukan oleh modul.

Daftar tersebut berisi nama-nama semua modul, variabel dan fungsi yang didefinisikan dalam sebuah modul. Berikut ini adalah contoh sederhana

Demo Langsung
#!/usr/bin/python

# Import built-in module math
import math

content = dir(math)
print content

Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut

['__doc__', '__file__', '__name__', 'acos', 'asin', 'atan', 
'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 
'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log',
'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 
'sqrt', 'tan', 'tanh']

Di sini, variabel string khusus __name__ adalah nama modul, dan __file__ adalah nama file dari mana modul dimuat.

Global() dan lokal() Fungsi

global() dan lokal() fungsi dapat digunakan untuk mengembalikan nama di ruang nama global dan lokal tergantung pada lokasi dari mana mereka dipanggil.

Jika locals() dipanggil dari dalam suatu fungsi, itu akan mengembalikan semua nama yang dapat diakses secara lokal dari fungsi itu.

Jika globals() dipanggil dari dalam suatu fungsi, itu akan mengembalikan semua nama yang dapat diakses secara global dari fungsi itu.

Tipe kembalian dari kedua fungsi ini adalah kamus. Oleh karena itu, nama dapat diekstraksi menggunakan fungsi keys().

muat ulang() Fungsi

Saat modul diimpor ke skrip, kode di bagian tingkat atas modul hanya dieksekusi sekali.

Oleh karena itu, jika Anda ingin mengeksekusi ulang kode tingkat atas dalam sebuah modul, Anda dapat menggunakan reload() fungsi. Fungsi reload() mengimpor kembali modul yang diimpor sebelumnya. Sintaks fungsi reload() adalah ini

reload(module_name)

Di sini, nama_modul adalah nama modul yang ingin Anda muat ulang dan bukan string yang berisi nama modul. Misalnya, untuk memuat ulang halo modul, lakukan hal berikut

reload(hello)

Paket dengan Python

Paket adalah struktur direktori file hierarkis yang mendefinisikan lingkungan aplikasi Python tunggal yang terdiri dari modul dan subpaket dan sub-paket, dan seterusnya.

Pertimbangkan sebuah file Pots.py tersedia di Telepon direktori. File ini memiliki baris kode sumber berikut

#!/usr/bin/python

def Pots():
   print "I'm Pots Phone"

Dengan cara yang sama, kami memiliki dua file lain yang memiliki fungsi berbeda dengan nama yang sama seperti di atas −

Sekarang, buat satu file lagi __init__.py di Telepon direktori

Untuk membuat semua fungsi Anda tersedia saat Anda mengimpor Telepon, Anda perlu memasukkan pernyataan impor eksplisit di __init__.py sebagai berikut −

from Pots import Pots
from Isdn import Isdn
from G3 import G3

Setelah Anda menambahkan baris ini ke __init__.py, Anda memiliki semua kelas yang tersedia saat Anda mengimpor paket Telepon.

#!/usr/bin/python

# Now import your Phone Package.
import Phone

Phone.Pots()
Phone.Isdn()
Phone.G3()

Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut

I'm Pots Phone
I'm 3G Phone
I'm ISDN Phone

Dalam contoh di atas, kami telah mengambil contoh satu fungsi di setiap file, tetapi Anda dapat menyimpan beberapa fungsi di file Anda. Anda juga dapat menentukan kelas Python yang berbeda dalam file tersebut dan kemudian Anda dapat membuat paket Anda dari kelas tersebut.


Python

  1. Tipe Data Python
  2. Masukan, Keluaran, dan Impor Python
  3. Operator Python
  4. Argumen Fungsi Python
  5. Modul Python
  6. Kamus Python
  7. Python Iterator
  8. Penutupan Python
  9. Tanggal waktu Python
  10. Modul waktu Python