Python

**Python** ialah sebuah bahasa pengaturcaraan aras tinggi yang dicipta oleh Guido van Rossum pada tahun 1991. Ia merupakan sebuah bahasa ditafsir, interaktif dan berorientasi objek.

Python adalah beraneka paradigma, menggunakan sistem penjenisan dinamik dan pengurusan memori automatik. Oleh kerana itu, ia lebih kurang sama dengan Perl, Ruby, Scheme, Smalltalk dan Tcl.

Pelaksanaan piawai untuk bahasa ini ialah CPython. CPython dikendalikan oleh Yayasan Perisian Python yang bukan untung di bawah model pembangunan sumber terbuka iaitu diterbitkan di bawah Lesen Python, CPython adalah sebuah perisian bebas.

## Sejarah

Pembina dan pereka utama Python ialah Guido van Rossum. Versi python yang terawal direka di CNRI (kep. *Centre for National Research Initiatives*, BM: Pusat Inisiatif Kajian Kebangsaan). Walau bagaimanapun, pada tahun 2000, Guido dan pasukan Python (termasuk Tim Peters, Barry Warsay, Jeremy Hylton, dan Fred Drake) berpindah ke BeOpen dan kemudiannya ke Digital Creations.

### Python 1.5.2
Python dibangunkan dan dikeluarkan melalui lesen awam yang dibekalkan oleh CNRI. Python 1.5.2 mengandungi kebanyakan kefungsian seperti Python yang ada pada hari ini. Keluaran terakhir Python 1.5.2 adalah pada 13 April 1999.

### Python 1.6
Dalam September tahun 2000 (selepas Guido meninggalkan CNRI), terdapat dua versi keluaran Python 1.6; Python 1.6 dari CNRI dan Python 1.6b1, versi beta dikeluarkan oleh Guido dan pasukan pembinaan BeOpen.

Versi ini mengandungi sedikit kemajuan iaitu termasuk perubahan di dalam cara objek senarai berkerja serta kemajuan pada soket dan alatan penukaran deretan-kepada-angka.

### Python 2.0
Python 2.0 dikeluarkan pada 16 Oktober 2000, dengan banyak ciri baharu termasuk "pemungut sampah"  dan sokongan untuk Unikod. Walau bagaimanapun, perubahan terbesar ialah pada proses pembangunan itu sendiri dengan anjakan kepada proses yang lebih telus dan disokong masyarakat pembangun. 

* **5 September 2000** - Versi 2.0 datang dengan beberapa pembaharuan untuk Versi 1.6 termasuklah operator-operator baru, sintaksis senarai yang baru, dan pengimpotan modul yang lebih baik. Versi 2.0 menunjukkan perubahan yang amat ketara pada pustaka Python, dalam masa lebih setahun. Versi ini memperbaiki beberapa pepijat, menambah beberapa cirian baru dan suit peralatan XML yang ditulis semula secara keseluruhan. Versi terakhir Python 2.0 dibebaskan pada 16 Oktober 2000.

* **28 Oktober 2000** - Guido mengumumkan di laman web Python yang pasukan Python telah berpindah lagi. Kali ini ke Digital Creations, tulang belakang Zope (kep. "Z-Objek Publishing Environtment", BM: Persekitaran Penerbitan Objek-Z) iaitu projek Python yang terkenal.

### Python 3.0
Python 3.0 (juga disebut Python 3000 atau py3k), ialah keluaran besar serasi mundur yang dikeluarkan pada 3 Disember 2008 selepas lama dicuba. Kebanyakan tampilan utamanya telah di''backport'' kepada Python 2.6 dan 2.7 yang serasi mundur.

## Sintaks dan semantik
Python direka agar amat mudah dibaca. Ia mensasarkan kepada reka letak yang tidak berserabut, menggunakan kata kunci Bahasa Inggeris dengan kerap sedangkan bahasa lain kerap menggunakan tanda baca.Python memerlukan kurang plat dandang berbanding bahasa berstruktur yang ditaip secara statik seperti C atau Pascal, dan bilangan penerimaan sintaks yang lebih kecil. Python menggunakan ruang kosong daripada menggunakan kurungan kerinting, membatasi blok-blok kenyataan. Kenyataan-kenyataan python termasuklah:

* Kenyataan <code>if</code> - melakukan sesuatu blok kod secara bersyarat, sekali dengan `else` dan `elif` (pendekan daripada else-if).
* Kenyataan <code>while</code> - menjalankan sesuatu blok kod sehingga sesuatu keadaan adalah `False` (salah).
* Kenyataan <code>for</code> - mengulangi sesuatu pengulangan, meletakkan setiap unsur ke sebuah pemboleh ubah setempat untuk kegunaan blok yang berkenaan.
* Kenyataan `class` - menjalankan sebuah blok kod dan memautkan ruangnama setempatnya kepada kelas, untuk kegunaan dalam pengaturcaraan berorientasikan objek.
* Kenyataan `def` - mentakrifkan sebuah fungsi.
* Kenyataan `match` - sokongan untuk pemadanan corak (*pattern matching*) diperkenalkan dalam versi 3.10.

Setiap kenyataan mempunyai semantiknya yang tersendiri:sebagai contoh, kenyataan `def` tidak melakukan sebuah blok kod secara terus, tidak seperti kenyataan lain.

## Contoh

Berikut ialah contoh skrip *[[hello world]]* yang ditulis dalam Python.


```python
print('Hello world!')
```


## Rujukan

* C. Brown, Martin (2001), *Python: The Complete Reference*, US: McGraw-Hill

## Lihat juga
* Bahasa penskripan
* Jython

## Pautan luar

*  Tapak web rasmi Python
*  Tutorial Python
*  Python FAQTs
*  The Architecture of Python membincangkan dalaman Python.
*  Charming Python — Jujukan rencana mengenai topik-topik Python oleh David Mertz.
*  Norm Matloff's Quick Python Tutorials  — UC Davis Professor Norm Matloff's menerbitkan web sumber Python untuk pelajarnya dan peneroka Python.
*  Useless Python - Gedung kod Python, kebanyakannya separa serious kod buangan yang hidup lebih lama dari yang dijangkaka.
*  Python 2.5 Quick Reference - Gambaran yang padat mengenai ciri-ciri teras bahasa ini.