Sebelum Anda melanjutkan membaca panduan ini pastikan Anda telah PIP diinstal. Anda dapat menggunakan Koding Package Manager (KPM) dan menginstal PIP menggunakan hanya satu perintah:
kpm install pip
Dalam panduan ini kita akan pergi lebih menjelaskan apa Python, bagaimana menggunakan Python Kemasan melalui perintah PIP, dan bagaimana menulis Python web server pertama Anda menggunakan sebuah perpustakaan kecil yang dikenal sebagai Flask. Jadi, mari kita mulai!
Apa Itu Python ?
Python adalah populer, tujuan umum, tingkat tinggi bahasa pemrograman. Ini berfokus pada pembacaan programmer kewarasan atas kinerja baku. Python2 dan Python3 datang pra-instal pada Koding VMS, dan dalam panduan ini kita akan fokus pada python2. Mari kita lihat apa yang tampak seperti untuk menjalankan beberapa kode python!
Menjalankan script Python pertama Anda
Membuka Anda Ace Editor membuat file baru bernama hello.py. Paste kode berikut ke dalam file tersebut.
print "Hello from python!"
Cetak kata kunci mengambil string dan mencetaknya ke output standar (stdout) dari proses. Mari kita coba jalankan file ini sehingga kita bisa melihat output ini, tapi pertama menyimpan file dengan Ctrl-s. Sekarang, buka Terminal dan ketik perintah berikut.
python hello.py
Hingga Terlihat pada Terminal Seperti ini
jpunk: ~ $ python hello.py
Hello from python!
jpunk: ~ $
Rapi! Mari kita mengambil ini beberapa langkah lebih lanjut, dan melakukan sesuatu yang benar-benar berguna, memungkinkan menjalankan server web! Tapi pertama, mari kita mengenal Pip, dan menginstal sebuah perpustakaan yang membuat membuat aplikasi python Web mudah!
Instalasi Pip
pip adalah populer Python Package Manager. Namun, kita perlu menginstalnya ke Koding VM kami menggunakannya. Untuk melakukan itu, kita akan menggunakan AptGet, dengan perintah berikut.
sudo apt-get install python-pip
Berikan yang sesaat, dan setelah itu selesai kita dapat menginstal Flask!
Menggunakan Pip untuk menginstal Flask
Anda mungkin bertanya-tanya mengapa kita menggunakan Flask untuk menulis ini web server kecil kita. Labu memiliki API-benar bagus untuk membuat aplikasi web kompak. Ini bagus untuk panduan pemula, karena kita dapat melihat sebuah konsep beberapa inti tanpa terlalu macet dengan rincian teknis dari server web.
Sekarang bahwa Anda telah pip diinstal, menginstal Flask jenis perintah berikut.
sudo pip install Flask
Perhatikan bahwa kita menggunakan sudo karena lokasi default untuk paket yang terinstal di direktori root. Praktek yang umum untuk menyimpan ini tanpa akses root adalah dengan menggunakan Lingkungan Virtual untuk menjaga paket Anda diinstal per-proyek. Kami akan menyimpan itu untuk panduan kemudian meskipun.
Setelah itu selesai menginstal, memungkinkan menulis kode Flask kami!
Membuat Web Server Flask pertama Anda
Buat file baru bernama web.py, dan paste kode berikut.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host='0.0.0.0')
Ada beberapa poin yang menarik dalam sumber ini, jadi sebelum kita menjalankan server web kami, mari kita pergi atas sumber.
from flask import Flask
Up pertama adalah dari dan kata kunci impor kami. Impor mengimpor modul untuk sebuah objek dengan nama yang sama. Ketika digunakan dengan dari kata kunci meskipun, hanya objek Flask diimpor ke lingkup saat ini. Jadi, garis ini mengimpor fungsi bernama Flask.
app = Flask(__name__)
Selanjutnya, kita menggunakan Flask () fungsi untuk membuat contoh Flask, disimpan dalam aplikasi nama.
__name__ adalah kata kunci khusus yang menyimpan nama dari saat ini modul, atau sama dengan "__main__" jika dijalankan secara langsung. Kita akan melihat ini lagi pada akhir script.
def hello():
return "Hello World!"
Kami melewatkan garis, dan akan langsung ke def kata kunci. Ini adalah bagaimana kita mendefinisikan fungsi dengan Python. Dalam hal ini, kita menggunakan fungsi ini sebagai pengendali untuk Flask kami "dengan".
@app.route("/")
def hello():
return "Hello World!"
Jika kita melihat fungsi itu lagi, termasuk garis kami melewatkan, kita melihat struktur sintaks baru,
@app.route("/")
.
Hal ini dikenal sebagai dekorator a. Dekorator adalah sintaks khusus untuk fungsi membungkus fungsi lain. Jika Anda baru untuk pemrograman, ini bisa menjadi sedikit rumit konsep yang melibatkan Fungsi Orde Tinggi. Kami akan secara singkat menyentuh di bawah ini, tapi untuk saat ini kami hanya akan mengambilnya pada nilai nominal. Ini adalah bagaimana rute Flask permintaan kami untuk handler kami.
Sebuah Route adalah konsep yang mengarahkan permintaan (orang yang melihat web server Anda) dan rute mereka untuk fungsi Handler Anda. "/" Adalah jalan untuk rute ini, yang berarti bahwa ketika seseorang menghubungkan ke http://hostname.username.koding.io/ mereka diberi fungsi ini.
Jika seseorang terhubung dengan http://hostname.username.koding.io/foo/bar, itu tidak akan kembali handler ini, karena / foo / bar tidak cocok dengan halo kami.
if __name__ == "__main__":
app.run(host='0.0.0.0')
Akhirnya kami berada di akhir script. Jika Anda ingat __name__ kata kunci dari sebelumnya, ingat bahwa itu memegang nama modul saat ini. Jika file tersebut dijalankan langsung dari Python meskipun, yaitu python web.py, maka nilai adalah "__main__".
Dengan menulis __name__ == "__main__" kondisi, kami membuatnya sehingga jika file ini dijalankan secara langsung akan mulai server web. Jika file yang diimpor meskipun, tidak akan. Ini bagus karena kita tidak ingin impor untuk mengeksekusi sekelompok kode berbahaya. Praktek pemrograman yang baik.
Menjalankan server web Flask kami
Sekarang kita telah melihat sumber, memungkinkan menjalankan hal ini! Kita bisa menjalankan file ini seperti di atas, dengan ..
python web.py
Dan kemudian terhubung ke dengan alamat berikut.
http:
Flask akan menampilkan teks kami ketika Anda meminta jalur akar, awesome!
Dekorator singkat Dijelaskan
Sekarang kita sudah melalui web server sumber, memungkinkan meninjau kembali dekorator dan masuk ke sedikit lebih mendalam. Kami tidak akan pergi ke setiap konsep secara rinci, sehingga kita bisa menjaga ini pemula tutorial secara masuk akal pendek, dan bukan buku.
Untuk membantu menjelaskan dekorator, kita tambahkan dekorator kita sendiri.
ef from_py(hello):
def wrapper(*args, **kwargs):
return hello(*args, **kwargs) + " From Python!"
return wrapper
@app.route("/")
@from_py
def hello():
return "Hello World!"
Mari kita menganalisis ini.
from_py hanyalah sebuah fungsi, yang mengambil fungsi lain. Ketika kita menambahkan kata kunci sebelum dari fungsi def, from_py disebut dengan fungsi sebagai argumen pertama. Ini "membungkus" hello () dengan from_py () fungsi kita.
Berikutnya, kita membuat fungsi baru di dalam fungsi from_py yang bertindak sebagai pengendali. The (* args, kwargs **) parameter adalah sintaks khusus untuk menyimpan semua argumen yang diberikan dalam dua objek, sehingga kita dapat sepenuhnya melewati mereka ke hello () handler.
Dalam fungsi pembungkus kami, kami kemudian memanggil kemudian hello () fungsi, dengan argumen yang diberikan kepada wrapper ().
Ketika halo () kembali, kita menambahkan string kita sendiri "Dari Python!", Dan kembali itu juga.
Jadi artinya
@app.route("/")
@from_py
def hello():
return "Hello World!"
Sebenarnya banyak fungsi, lebih dari tiga. Kita bisa menulis seluruh struktur di sini, tapi hanya fokus padafrom_py untuk saat ini, untuk menghindari bingung oleh sekelompok besar fungsi bersarang.
Jika ini masih tidak masuk akal, jangan khawatir! Fungsi orde tinggi dapat mengambil beberapa membiasakan diri. Praktek mereka, dan membuat Anda sendiri, mereka layak pemahaman!
Python2 vs Python3
Akhirnya, pembicaraan Python tidak pernah lengkap tanpa membungkus semuanya dalam python2 besar vs debat Python3! .. Untungnya, kita tidak akan melakukannya di sini.
Jika Anda baru untuk Python, dan tidak yakin versi mana yang digunakan, itu tidak terlalu penting. Mereka berdua sangat mirip, memilih satu, dan mempelajarinya. Setelah Anda mempelajari satu, versi lain akan mudah digunakan, dan Anda akan dapat menemukan perbedaan dengan mudah.
Python3 adalah masa depan akhirnya, tapi itu diambil bertahun-tahun untuk mendapatkan traksi, dan akan mengambil banyak lagi. Memilih yang menggunakan bisa menjadi keputusan yang sulit bagi programmer berpengalaman ingin menulis basis kode besar. Anda tidak perlu khawatir tentang itu, saat ini. Menyimpan itu untuk hari lain :)
Ini menyimpulkan memulai dengan Python panduan. Terima kasih untuk membaca!