Python (lingua programmationis)

Python est hodierna lingua programmationis quae anno 2016 manet in tertio loco inter linguas ad programmandum maxime adhibitas http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages, post C et Java.  Syntaxis consilio pondus dat brevitati et facilitati legendo, ut programmata in lineis scribi possunt paucioribus, quam linguis aliis sicut C vel Java.

Lingua nomen accepit a titulo Monty Python's Flying Circus. Programmatores huius linguae periti pythonistae appellantur et peculiaris modus quo ei programmata scribunt appellatur pythonicus. 

Haec lingua mutiplex paradigmata sinet sicut imperativum et obiecto spectans. Consilio in se multa specimina instrumenta quam progressiva offert programmatoribus sicut dictionaria (hash tabula), inventaria, functiones lambda, generatores, et classes. Et lingua facile extendi potest permultis librariis programmationis, cum alligationibus ad libraria aliarum linguarum sicut Fortran, Java, et C. 

 Salve, munde! 
Infra ostenditur programma minimum, quod "Salve, munde!" in monitorium mittit.
print("Salve, munde!")

Historia
Python circa annum 1980 primum concepta est, sed solum anno 1989 a Guido van Rossum creata est. Van Rossum, cum auctor princeps Pythonis fuit, postea "Benevolens Dictator Perpetuo" (Anglice "Benevolent Dictator for Life") dictus est.

Python 2.0 die 16 Octobris 2000 divulgatur, Python 3.0 autem December 2008.

 Nomen 
Nomen Python derivatum est a titulo pelliculae Monty Python's Flying Circus. Qua propter in programmatis nomina alia e hac pellicula adhibta saepe invenitur.

 Syntaxis 
Python indentationes, non ceruchos, adhibet ut codices varios separet. Exempli gratia:
def fib(n):
    if n < 2:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

 Declarationes 
Abssimiliter linguae C, non necesse est genus scribere.
num = 1
num2 = num * 3 + 456
nomen = "Python"
conditio = False
series = [1, 5, 12, 123]
series_immutabilis = (123, 345, 'salve!')

 Assertiones / Sententiae 
 print est dictum quod textum in monitorium mittit.
print "Salve!"

 if (Latine "si")
if num > 5:
    print "num est maior quam quinque!"
elif num < 5:
    print "num est minor quam quinque!"
else:
    print "num aequat quinque!"

 for aliquotiens currit.
for i in range(10):
    print i

 while (Latin "dum") currit dum conditio vera est.
num = 2
while num < 10:
    num += 1
    print num

 try (Latine "conor") conatur fungi "conor" partem. si non secunde functus est, "praeter" partem fungitur. tandem, "tandem" partem semper fungitur, si "tandem" pars adest.
try:
    num = 10 / 0 # malus!
except ZeroDivisionError:
    print "illum non potes!"
finally:
    print "conficio!"

 class rem novam creat.
class Canis:
    def __init__(self, nomen):
        self.nomen = nomen

    def latra(self):
        print "Woof!"

    def dic_nomen(self):  # si canes dicere possint
        print "mihi nomen est", self.nomen

 def (Latine "definio") functionem definit.
def add(num1, num2):
    return num1 + num2

 with (Latine "cum")
with open("data.txt") as fin:
    data = fin.read()
    # process data

 pass est dictum quod nihil facit.
def nihil_facio():
    pass

 assert (Latine "affirmo")
num = 9 / 3
assert num == 3 # bonus
assert num == 4 # hic tollit <code>AssertionError</code>

 yield (Latine "cedo")
def crea_generatorem():
    mylist = range(4)

    for i in mylist:
        yield i * i

gen = crea_generatorem()
for i in gen:
    print i
# exitus:
# 0
# 1
# 4
# 9

 exec (Latine "fungor") fungitur series characterum codicis Pythonis.
code = "print 'salve, munde!'"
exec code   # "salve, munde!" in quadrum visificum mittit

 eval
num = eval(3 * 5)
print num   # 15

 Operatores 
Python habet nonnullos operatores:
 Operatores arithmetici simplices: + (additio), - (subtractio), * (multiplicatio), / (Python 2: integer divisio, Python 3: decimus divisio), et ** (exponentio)
 Operatores complexi: +=, -=, *=, /=, **=
 Operatores comparabilis: <, >, <=, >=, == (aequalitas pretii, non loci memoriae sicut lingua C), et !=
 Operatores booleani: and, or, not
 Operatores bitwise: & (et), | (vel), ^ (aut)
 Operator loci memoriae: is
 Operator ternarius: pars-vera if conditio else pars-falsa

 Genera 
 Genus Descriptio Exemplum str series immutabilis characterum  'Vicipaedia'"Vicipaedia""""Spanningmultiplelines"" byte series immutabilis bytum b'Some ASCII'b"Some ASCII" list series mutabilis quae genera varia habere potest [4.0, 'string', True] tuple series immutabilis quae genera varia habere potest (4.0, 'string', True) set, frozenset inordinatus, nulla duplicata habet {4.0, 'string', True} frozenset([4.0, 'string', True]) dict collectio mutabilis parum clavum et pretiorum {'key1': 1.0, 3: False} int numerus immutabilis (integer) infinitae quantitatis 42 float numerus immutabilis (decimus) 3.141592654 complex numerus immutabilis (intricatus) cum partis realiis et imaginariis 3+2.7j bool pretium immutabilis veritatis (verus aut falsus) TrueFalse

 Implementationes 
 CPython
 Unladen Swallow
 Jython (Java)
 IronPython (.NET)
 Stackless Python
 ChinesePython

 Compilatra 
 Psyco (ad codex machinae)
 Pyjamas (ad JavaScript)
 Shed Skin (ad C++)
 Pyrex (ad C)
 Cython (ad C)

 Perl
 PHP

 Nexus externi 

 http://www.python.org/

Categoria:Linguae programmationis