Python (forritunarmál)

**Python** er forritunarmál þróað með það að leiðarljósi að einfalda forritaranum vinnuna sína (t.d. með því að nota ruslasöfnun) frekar en að gera tölvunni auðvelt fyrir. Python, þrátt fyrir að vera oft talið einfalt mál, býr yfir flestum þeim möguleikum sem vinsælustu forritunarmál í dag búa yfir (og er sjálft orðið eitt allra vinsælasta forritunarmálið), þ.m.t. hlutbundna forritun.

Python er til í mörgum útgáfum, sú þekktasta er líklega CPython sem er viðhaldið af The Python Software Foundation.

Python kóði er yfirleitt vistaður í skjöl með endingunni `.py` sem eru svo keyrðar með `python3` skipuninni. Einnig er hægt að keyra `python3` skipunina án skráarnafns og fæst þá einskonar Python skel. Í henni má meðal annars prófa sig áfram sem og keyra einföld forrit.

Nýjustu útgáfur af Python eru Python 3.x, sem eru að miklu leiti, en ekki öllu leyti, samhæfðar við eldra Python 2, sem er ekki lengur stutt. Nú orðið fær aðeins Python 3.13.x uppfærslur sem laga galla (og líka öruggisuppfærslur; nokkrar eldri útgáfur fá eingöngu öryggisuppfærslur). Hver nýleg útgáfa til og með Python 3.13 hefur bætt við setningarfræði (e. syntax), t.d. fyrir möguleika varðandi tög (e. type) í 3.13 og áður. Útgáfa 3.13 (og nýlegar) hefur líka bætt fleiri möguleikum við (þ.e. ekki eingöngu setningarfræðilegum) t.d. betri ruslasafnara (e. incremental útgáfu af); 3.13 gerir líka smávægilegar breyting á málinu (flestir forritarar eiga ekki að verða fyrir slæmum áhrifum, aðeins breytingum til hins betra, breytingarnar eru mun minni en frá 2.x yfir í 3.x).

## Saga

Python kom út árið 1991 hannað af Guido van Rossum í Hollandi.

Python 2.0 kom út þann 16. október 2000 með mörgum nýjum eiginleikum, s.s. ruslasöfnun (e. „garbage collection“; en líka að hluta útfært með „reference counting“ leið í CPython), og Unicode stuðningi.

Python 3.0 kom út árið 2008.

## Sýnidæmi
Dæmi um einfalt forrit (vistað í skrána `prufa.py`):


```python
print('Halló heimur!')  # Í eldra Python 2 gengur: print 'Halló heimur!'
```
 
og úttak þegar keyrð er skipunin `python3 prufa.py`:

```python
Halló heimur!
```


Enn fremur má keyra upp python3 skelina og prófa sig áfram:


```python
Python 3.12.3 (main, Apr 21 2024, 17:40:47) [GCC 11.4.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> print('Halló heimur!')
 Halló heimur!
 >>> str = 'Halló heimur'
 >>> list = str.split(' ')
 >>> list
 ['Halló', 'heimur']
 >>> list[0]
 'Halló'
 >>> dict = {'lykill 1' : 'gildi 1', 'lykill 2' : 'gildi 2'}
 >>> if dict['lykill 1'] == 'gildi 1':
 ...     print(list[1])
 ... 
 heimur
 >>> import time
 >>> time.time()
 1651175781.5171032
 >>> for i in list:
 ...     print(i)
 ... 
 Halló
 heimur
 >>> list2 = ['a','b','c','d','e']
 >>> len(list2)
 5
 >>> list2[2:]
 ['c', 'd', 'e']
 >>> " ".join(list2)
 'a b c d e'
```
 
Það sem fólk rekur sig kannski fyrst á er að `{ }` er ekki notað utan um *blokkir* eins og í Java, C og mörgum málum. Blokkir í Python eru einfaldlega táknaðar með inndrætti, samanber hvernig `print(i)` er dregin inn hér að ofan. Þetta getur valdið villum þegar fólk er að rokka milli þess að nota tab eða bil fyrir inndrátt, en ekki má blanda þessu í einni og sömu skránni.

## Tenglar
* Vefsíða Python