Python (programlingvo): Malsamoj inter versioj
[kontrolita revizio] | [nekontrolita versio] |
Enhavo forigita Enhavo aldonita
e r2.5.4) (robota modifo de: mr:पायथॉन |
ⵓ (diskuto | kontribuoj) syntaxhighlight http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi |
||
Linio 17:
Jen simpla ekzemplo de Python-a programo:
<
# Ekscii pri la primeco de nombro
import math
Linio 32:
else:
print '%s estas prima' % y
</syntaxhighlight>
== Filozofio ==
Linio 79:
[[C (programlingvo)|C:]]
<
int factorial(int x) {
if (x == 0) {
Linio 87:
}
}
</syntaxhighlight>
'''Python:'''
<
def factorial(x):
if x == 0:
Linio 96:
else:
return x * factorial(x-1)
</syntaxhighlight>
Iuj programistoj alkutimiĝintaj al [[Algol]]-stilaj lingvoj, en kiuj blankspaco estas semantike malplena, komence pensas, ke ĉi tio estas konfuza. Iuj jam faris nekomplimentajn komparojn al la laŭkolona stilo uzata ĉe [[truokarto|truokartaj]] [[Fortran]]-sistemoj: iam, estas grandega progreso havi "liberformajn" lingvojn, en kiu nur simboloj gravis kaj ne ties pozicio sur la linio.
Linio 104:
Kiel ĉi-supre menciite, alia forto de Python estas la havebleco de funkciaj sintaksaj eroj. Kiel oni povas antaŭvidi, ĉi tiuj ege faciligas labori je listoj kaj aliaj kunmetaĵoj. Unu tia konstruo estas la lista komprenumo, enkodukita de la funkcia lingvo [[Haskell]], kiel vidata jene kalkulante la unuajn kvin [[eksponentumo]]jn de du:
<
nombroj = [1, 2, 3, 4, 5]
eksponentumoj_de_du = [ 2 ** n for n in nombroj ]
</syntaxhighlight>
Pro tio, ke Python permesas, ke funkcioj estu argumentoj, ankaŭ eblas esprimi eĉ pli subtilajn funkciajn konstruojn, ekz. la pludaŭrigon.
La ŝlosilvorto "lambda" de Python eble misdirektus iujn fanatikulojn de funkcia programado. Lambdo-blokoj en Python rajtas enhavi nur esprimojn, ne asertojn. Tial, ili ne estas la plej ĝenerala maniero, per kiu reliveri ĉe funkcio. Anstataŭe la kutima afero por fari estas simple difini kaj reliveri ĉe funkcio uzante lokregionan nomon, kiel en la jena ekzemploj de simpla sekca funkcio:
<
def add_and_print_maker(x):
def temp(y):
print "%d + %d = %d" % (x, y, x+y)
return temp
</syntaxhighlight>
=== Traktado de esceptoj ===
|