Terkadang, mungkin perlu mencari informasi yang tidak terkait dengan Python. Misalnya, Anda mungkin perlu mengetahui lokasi program Anda dalam lingkungan komputer yang lebih besar.
Bayangkan lingkungan program Anda sebagai piramida yang terdiri dari beberapa lapisan atau platform.
Lapisan-lapisannya adalah:
kode (yang sedang berjalan) Anda terletak di paling atas;
Python, atau lebih tepatnya, lingkungan runtime-nya, terletak langsung di bawahnya;
lapisan selanjutnya dari piramida ini diisi oleh sistem operasi (OS) - lingkungan Python menyediakan beberapa fungsinya menggunakan layanan sistem operasi; meskipun sangat kuat, Python tidaklah omnipoten - ia dipaksa untuk menggunakan banyak pembantu jika ia akan memproses file atau berkomunikasi dengan perangkat fisik;
lapisan paling bawah adalah perangkat keras - prosesor (atau prosesor), antarmuka jaringan, perangkat antarmuka manusia (mouse, keyboard, dll.) dan semua mesin lain yang diperlukan untuk membuat komputer berjalan; OS tahu cara mengendarainya, dan menggunakan banyak trik untuk mengatur semua bagian dengan irama yang konsisten.
Ini berarti bahwa beberapa tindakan Anda (atau lebih tepatnya program Anda) harus melakukan perjalanan jauh untuk dilakukan dengan sukses - bayangkan bahwa:
kode Anda ingin membuat file, sehingga ia memanggil salah satu fungsi Python;
Python menerima perintah itu, mengatur ulang agar sesuai dengan persyaratan OS lokal, seperti menyetujui permintaan Anda dengan mencap stempel "disetujui", dan mengirimkannya ke bawah (ini mungkin mengingatkan Anda pada rantai perintah);
OS memeriksa apakah permintaannya masuk akal dan valid (misalnya, apakah nama file sesuai dengan beberapa aturan sintaks) dan mencoba membuat file; operasi seperti itu, tampaknya sangat sederhana, tidak bersifat atom - terdiri dari banyak langkah kecil yang diambil oleh...
perangkat keras, yang bertanggung jawab untuk mengaktifkan perangkat penyimpanan (hard disk, perangkat padat, dll.) untuk memenuhi kebutuhan OS.
Biasanya, Anda tidak menyadari semua keributan itu - Anda ingin file dibuat dan itu saja.
Tetapi terkadang Anda ingin tahu lebih banyak - misalnya, nama OS yang menjalankan Python, dan beberapa karakteristik yang menjelaskan perangkat keras yang menjalankan OS.
Ada modul yang memberikan beberapa cara untuk memungkinkan Anda mengetahui di mana Anda berada dan komponen apa yang bekerja untuk Anda. Modul ini dinamakan platform. Kami akan menunjukkan beberapa fungsi yang disediakannya untuk Anda.
Modul platform memungkinkan Anda mengakses data platform bawahnya, yaitu perangkat keras, sistem operasi, dan informasi versi interpreter.
Ada fungsi yang dapat menunjukkan semua lapisan bawahnya dalam satu pandangan, yang dinamai juga platform. Ini hanya mengembalikan string yang menjelaskan lingkungan; oleh karena itu, outputnya lebih ditujukan untuk manusia daripada pemrosesan otomatis (Anda akan segera melihatnya).
Berikut adalah cara memanggilnya:
Sekarang:
aliased → jika diatur ke True (atau nilai selain nol), dapat menyebabkan fungsi menampilkan nama lapisan dasar alternatif alih-alih nama umum;
terse → jika diatur ke True (atau nilai selain nol), dapat membujuk fungsi untuk menampilkan bentuk yang lebih singkat dari hasil (jika memungkinkan).
Kami menjalankan program sampel kami menggunakan tiga platform yang berbeda - ini yang kami dapatkan:
Intel x86 + Windows ® Vista (32 bit):
Intel x86 + Gentoo Linux (64 bit):
Raspberry PI2 + Raspbian Linux (32 bit):
Anda juga dapat menjalankan program sampel di IDLE pada mesin lokal Anda untuk memeriksa output yang akan Anda miliki.
Terkadang, Anda mungkin hanya ingin mengetahui nama generik dari prosesor yang menjalankan sistem operasi Anda bersama Python dan kode Anda - fungsi bernama machine() akan memberi tahu Anda hal tersebut. Seperti sebelumnya, fungsi ini mengembalikan sebuah string.
Sekali lagi, kami menjalankan program sampel pada tiga platform yang berbeda:
Intel x86 + Windows ® Vista (32 bit):
Intel x86 + Gentoo Linux (64 bit):
Raspberry PI2 + Raspbian Linux (32 bit):
Fungsi processor() mengembalikan sebuah string yang berisi nama processor asli (jika memungkinkan).
Sekali lagi, kami menjalankan program sampel pada tiga platform yang berbeda:
Intel x86 + Windows® Vista (32 bit):
Intel x86 + Gentoo Linux (64 bit):
Raspberry PI2 + Raspbian Linux (32 bit):
Coba uji ini di mesin lokal Anda.
Sebuah fungsi yang bernama system() mengembalikan nama sistem operasi secara umum sebagai sebuah string.
Contoh platform kami ditampilkan seperti ini:
Intel x86 + Windows ® Vista (32 bit):
Intel x86 + Gentoo Linux (64 bit):
Raspberry PI2 + Raspbian Linux (32 bit):
Versi OS disediakan dalam bentuk string oleh fungsi version().
Jalankan kode dan periksa keluarannya. Ini yang kami dapatkan:
Intel x86 + Windows ® Vista (32 bit):
Intel x86 + Gentoo Linux (64 bit):
Raspberry PI2 + Raspbian Linux (32 bit):
Jika Anda perlu tahu versi Python yang menjalankan kode Anda, Anda dapat memeriksanya menggunakan beberapa fungsi khusus - berikut ini adalah dua di antaranya:
python_implementation() → mengembalikan string yang menunjukkan implementasi Python (harapkan CPython di sini, kecuali jika Anda memutuskan untuk menggunakan cabang Python non-kanonik apa pun)
python_version_tuple() → mengembalikan tupel tiga elemen yang diisi dengan:
bagian utama versi Python;
bagian minor;
nomor tingkat perbaikan.
Program contoh kami menghasilkan output berikut:
Sangat mungkin versi Python Anda akan berbeda.
Kami hanya membahas dasar-dasar modul Python di sini. Modul-modul Python membentuk alam semesta mereka sendiri, di mana Python sendiri hanyalah sebuah galaksi, dan kami berani mengatakan bahwa mengeksplorasi kedalaman modul-modul ini dapat memakan waktu lebih banyak daripada mengenal Python "murni".
Selain itu, komunitas Python di seluruh dunia menciptakan dan memelihara ratusan modul tambahan yang digunakan dalam aplikasi sangat spesifik seperti genetika, psikologi, atau bahkan astrologi.
Modul-modul ini tidak (dan tidak akan) didistribusikan bersama dengan Python, atau melalui saluran resmi, yang membuat alam semesta Python lebih luas - hampir tak terbatas.
Anda dapat membaca tentang semua modul standar Python di sini: https://docs.python.org/3/py-modindex.html.
Jangan khawatir - Anda tidak memerlukan semua modul ini. Banyak dari mereka sangat spesifik.
Yang perlu Anda lakukan adalah menemukan modul-modul yang Anda inginkan, dan belajar sendiri cara menggunakannya. Sangat mudah.
Pada bagian selanjutnya, kita akan melihat sesuatu yang lain. Kami akan menunjukkan kepada Anda bagaimana menulis modul Anda sendiri.
1. Fungsi bernama dir() dapat menampilkan daftar entitas yang terdapat di dalam sebuah modul yang diimpor. Contohnya:
Mencetak daftar semua fasilitas modul os yang dapat Anda gunakan dalam kode Anda.
2. Modul math memiliki lebih dari 50 simbol (fungsi dan konstanta) yang melakukan operasi matematika (seperti sine(), pow(), faktorial()) atau menyediakan nilai penting (seperti π dan simbol Euler e).
3. Modul random mengelompokkan lebih dari 60 entitas yang dirancang untuk membantu Anda menggunakan angka sembarang. Jangan lupa awalan "random", karena tidak ada hal seperti angka sembarang yang sebenarnya ketika datang untuk menghasilkannya menggunakan algoritma komputer.
4. Modul platform berisi sekitar 70 fungsi yang memungkinkan Anda mengeksplorasi lapisan-lapisan bawah dari sistem operasi dan perangkat keras. Menggunakan fungsi-fungsi ini memungkinkan Anda untuk lebih memahami lingkungan di mana kode Anda dieksekusi.
5. Indeks Modul Python (https://docs.python.org/3/py-modindex.html) adalah direktori yang didukung oleh komunitas dari modul-modul yang tersedia di alam semesta Python. Jika Anda ingin menemukan modul yang sesuai dengan kebutuhan Anda, mulailah pencarian Anda di sana.