Páginas

domingo, 3 de março de 2013

skribu-kun-python-cxap02


fonto: http://inventwithpython.com/chapter2.html

Temoj Kovritaj en tiu ĉapitro:

  • Entjeroj kaj Glitpunktaj Nombroj
  • Esprimoj
  • Valoroj
  • Operatoroj
  • Taksante Esprimoj
  • Stoki Valoroj en Variabloj
  • Overwriting variabloj
Antaŭ ol ni komencos skribi komputilaj ludoj, ni devus lerni iun bazan programadon konceptojn unue. Ĉi tiuj konceptoj estas valoroj, operatoroj, esprimoj, kaj variabloj. Ni ne komencos programado en tiu ĉi ĉapitro, sed sciante tiujn konceptojn kaj la nomoj de aĵoj faros lerni plani multe pli facila. Tio estas ĉar la plimulto de programado estas konstruita sur nur kelkaj simplaj konceptoj kombinita kune fari antaŭita programoj.
Ni komencu per lerni kiel uzi Python interaga ŝelo.

Iuj Simpla Math Stuff

Por malfermi senokupe sur Vindozo, alklaku Komenco, tiam Programoj, tiam Python 3.1, tiam sencelaj (Python GUI). Kun sencelaj malferma, ni faru kelkajn simplajn math kun Python. La interaktiva konko povas labori nur kiel kalkulilo. Tipo 2 +2 en la ŝelon kaj premu la Eniga klavo en via klavaro. (Sur iuj klavaroj, ĉi tiu estas la Reiri ŝlosilo.) Kiel vi povas vidi en Figuro 2-1, la komputilo devus respondi kun la numero 4; la sumo de 2 +2.

Figuro 2-1: Tipo 2 +2 en la ŝelo.
Kiel vi povas vidi, ni povas uzi la Python ŝelo nur kiel kalkulilo. Ĉi tio ne estas programo por oni ĉar ni nur lerni la bazojn nun. La + signo rakontas la komputilo aldoni la numerojn 2 kaj 2. Al subtrahi nombroj uzas la - signo, kaj multipliki numerojn uzi asteriskon (*), ekzemple:
Tabelo 2-1: La diversaj matematikaj operatoroj en Python.
2 +2 Krome
2-2 subtraho
2 * 2 multipliko
2/2 divido
Kiam uzata en ĉi tiu maniero, +, -, *, kaj / nomiĝas operatoroj ĉar ili diru al la komputilo por plenumi la specifa operacio sur la numeroj ĉirkaŭas ilin.

Entjeroj kaj Glitpunktaj Nombroj

En programado (kaj ankaŭ en matematiko), tutaj nombroj kiel 4, 0, kaj 99 estas nomitaj entjeroj. Nombroj kun frakcioj aŭ dekuma punktoj (kiel 3,5 kaj 42,1 kaj 5,0) estas ne entjeroj. En Python, la nombro 5 estas entjero, sed se ni skribis ĝin kiel 5,0 ne estus entjero. Nombroj kun dekuma punkto estas nomataj flosantaj punktaj nombroj. En matematiko, 5.0 estas ankoraŭ konsideris entjero kaj la sama kiel la nombro 5, sed en komputila programado la komputilo konsideras ajnan numeron kun dekuma punkto ne estas entjero.

Esprimoj

Provu tajpi kelkajn el tiuj problemoj math en la ŝelon, premante Eniga klavo post ĉiu.
2 +2 +2 +2 +2
8 * 6
10-5 +6
2 + 2
Figuro 2-2 estas kion la interaga konko en sencelaj aspektos post vi tajpas en la instrukciojn supre.

Figuro 2-2: Kion la sencela fenestro aspektas kiel post eniri instrukcioj.

Figuro 2-3: Esprimo estas formita de valoroj kaj operatoroj.
Tiuj math problemoj estas nomitaj esprimoj. Komputiloj povas solvi milionoj da tiuj problemoj en sekundoj. Esprimoj konsistas el valoroj (la nombroj) konektitaj per operatoroj (la math signoj). Ni lernu ĝuste kio valoroj kaj operatoroj estas.
Kiel vi povas vidi per la lasta esprimo en la supra ekzemplo, vi povas meti ajna kvanto de spacoj inter la entjeroj kaj tiuj operatoroj. (Sed certe ĉiam komencas en la komenco de la linio, sen spacoj en fronto.)
Nombroj estas tipo de valoro. Entjeroj estas tipo de nombro. Sed, kvankam entjeroj estas nombroj, ne ĉiuj nombroj estas entjeroj. (Ekzemple, frakcioj kaj nombroj kun decimalaj punktojn kiel 2,5 estas nombroj kiuj ne estas entjeroj.)
Ĉi tio estas kiel kiel kato estas tipo de maskoto, sed ne ĉiuj dorlotbestoj estas katoj. Iu povus havi maskoto hundo aŭ dorlotbesto ermito krabo. Esprimo estas formita de valoroj (kiel entjeroj kiel la 8 kaj 6) konektitaj de operatoro (kiel la * multipliko signo). Sola valoro por oni ankaŭ konsideras esprimo.
En la sekvanta ĉapitro, ni lernos pri laborado kun teksto en esprimoj. Pitono ne estas limigita al nur numerojn. Estas pli ol nur ornama kalkulilo!

Taksante Esprimoj

Kiam komputilo solvas la esprimo 10 + 5 kaj ricevas la valoron 15, ni diri ĝi taksis la esprimo. Taksante esprimo reduktas la esprimon al sola valoro, same kiel solvanta math problemo reduktas la problemon al sola nombro: la respondo.
La esprimoj 10 + 5 kaj 10 + 3 + 2 havas la saman valoron, ĉar ili ambaŭ taksi al 15. Eĉ simpla valoroj estas konsideritaj esprimoj: La esprimo 15 taksas la valoron 15.
Tamen, se vi simple tajpu 5 + en la interaga konko, vi ricevos erarmesagxon.
>>> 5 +
SyntaxError: nevalida sintakso
Ĉi tiu eraro okazis ĉar 5 + ne estas esprimo. Esprimoj havi valorojn konektitaj de operatoroj, sed la + operatoro ĉiam atendas por konekti du aĵojn en Python. Ni nur donis gxin unu. Jen kial la eraro mesaĝo aperis. A sintaksa eraro signifas ke la komputilo ne komprenas la instruon vi donis ĝin ĉar vi tajpis ĝin malĝuste. Pitono ĉiam montri eraron mesaĝon, se vi eniros instrukcion kiu ne povas kompreni.
Tio povas ne ŝajnas grava, sed multaj komputilaj programadaj estas ne nur rakontanta al la komputilo, kion fari, sed ankaŭ sciante precize kiel diri al la komputilo por fari ĝin.

Esprimoj Ene Aliaj esprimoj

Esprimoj povas ankaŭ enhavi aliajn esprimojn. Ekzemple, en la esprimo 2 + 5 + 8, la 2 + 5 parto estas lia propra esprimo. Pitono taksas 2 + 5 al 7, do la originala esprimo iĝas 7 + 8. Pitono tiam taksas tiun esprimon al 15.
Pensu pri esprimo kiel pilo de panqueques. Se vi metas du stakoj de panqueques kune, vi ankoraŭ havas pilo de panqueques. Kaj granda stako de panqueques povas konsistas el pli malgrandaj stakoj de panqueques kiuj kune. Esprimoj povas esti kombinita kune por formi pli grandaj esprimoj en la sama maniero. Sed kiel ajn granda esprimo estas ankaŭ taksas al sola respondo, nur kiel 2 + 5 + 8 taksas al 15.

Stoki Valoroj en Variabloj

Kiam ni programo, ni ofte deziras savi la valorojn kiuj nia esprimoj taksi al tiel ni povas uzi ilin poste en la programo. Ni povas stoki valorojn en variabloj.
Pensu pri variabloj kiel skatolo kiu povas teni valoroj. Vi povas stoki valoroj ene variabloj kun la = signo (nomita la asigno operatoro). Ekzemple, por gardi la valoron 15 en variablo nomita "spamado", eniri spamado = 15 en la ŝelon:
>>> Spamado = 15
>>>

Figuro 2-4: Variabloj estas kiel skatoloj kiuj povas teni valoroj en ili.
Vi povas pensi pri la variablo kiel skatolo kun la valoro 15 ene de ĝi (kiel montras la Figuro 2-4). La variablo nomo "spamado" estas la stampo sur la skatolo (do ni povas diri unu variablo de alia) kaj la valoro stokitaj en ĝi estas kiel malgranda noto interne de la skatolo.
Kiam vi premas Ret vi ne vidas ion en respondo, krom malplenan linion. Se vi vidas eraron mesaĝon, vi povas supozi ke la instrukcio estis ekzekutita sukcese. La sekvan >>> prompto aperos tiel ke vi povas entajpi la sekvanta instrukcio.
Ĉi tiu instrukcio (nomita asigno deklaro) kreas la variablo spamado kaj stokas la valoron 15 en ĝi. Kontraste esprimoj, frazoj estas instrukcioj kiuj ne taksi al ajna valoro, tial ne estas valoro montrata en la sekvanta linio en la ŝelo.
Ĝi povus esti malklara scii kio instrukcioj estas esprimoj kaj kiuj estas formulitaj. Nur memoras, ke se la instrukcio taksas al sola valoro, estas esprimo. Se la instrukcio ne, tiam ĝi estas deklaro.
Asigno aserto estas skribita kiel variablon, sekvita de la = egala signo, sekvita de esprimo. La valoro ke la esprimo taksas al stokas ene de la variablo. La valoro 15 por mem estas esprimo. Esprimoj konsistas el sola valoro por oni estas facile taksi. Tiuj esprimoj ĝuste taksi la valoron mem. Ekzemple, la esprimo 15 taksas al 15!
Memoru, variabloj vendejo valoroj, ne esprimoj. Ekzemple, se ni havis la aserto, spamado = 10 + 5, tiam la esprimo 10 + 5 estus unue taksita al 15 kaj tiam la valoro 15 estus stokitaj en la variablo, spamado.
La unua fojo vi stoki valoron ene de variablo de uzanto valorizo ​​deklaro, Python kreos tiu variablo. Ĉiufoje post tio, asigno deklaro nur anstataŭi la valoron stokitaj en la variablo.
Nun ni vidu se ni kreas nian variablo konvene. Se ni tajpi spamado en la ŝelon por oni, ni devus vidi kion valoro estas stokita ene de la variablo spamado.
>>> Spamado = 15
>>> Spamado
15
>>>
Nun, spamado taksas la valoron ene de la variablo, 15.
Kaj jen interesa tordi. Se ni nun eniras spamado + 5 en la ŝelo, ni preni la entjero 20, kiel tia.
>>> Spamado = 15
>>> Spamado + 5
20
>>>
Tio strangas sed havas sencon, kiam ni memoras, ke ni starigu la valoro de spamado al 15. Ĉar ni starigis la valoro de la variablo spamado al 15, skribante spamado + 5 estas kiel skribi la esprimo 15 + 5.
Se vi provas uzi variablon antaŭ ĝi estis kreita, Python donos al vi eraro ĉar ne tia variablo ekzistus ankoraŭ. Ĉi tio ankaŭ okazas se vi mistype la nomo de la variablo.
Ni povas ŝanĝi la valoron stokitaj en variablo enirante alian asigno komunikaĵo. Ekzemple, provu la sekvajn:
>>> Spamado = 15
>>> Spamado + 5
20
>>> Spamado = 3
>>> Spamado + 5
8
>>>
La unua fojo ni eniras spamado + 5, la esprimo taksas al 20, ĉar ni stokis la valoron 15 ene de la variablo spamado. Sed kiam ni eniras spamado = 3, la valoro 15 estas anstataŭita, aŭ anstataŭigi, kun la valoro 3. Nun, kiam ni eniros spamado + 5, la esprimo taksas al 8 ĉar la valoro de spamado estas nun 3.
Por ekscii, kion la aktuala valoro estas ene variablo, simple eniri la variablo nomo en la ŝelo.
Nun jen io interesa. Ĉar variablo estas nur nomo por valoro, ni povas skribi esprimoj kun variabloj jene:
>>> Spamado = 15
>>> Spamado + spamado
30
>>> Spamado - spamado
0
>>>
Kiam la variablo spamado havas la entjera valoro 15 stokitaj en ĝi, enirante spamado + spamado estas la sama kiel enirante 15 + 15, kiu taksas al 30. Kaj spamado - spamado estas la sama kiel 15 - 15, kiu taksas al 0. La esprimoj super uzi la variablo spamado dufoje. Vi povas uzi variablojn tiom da fojoj kiom vi volas en esprimoj. Memoru ke Python taksos variablo nomon al la valoro kiu stokas interne ke variablo, ĉiufoje kiam la variablo estas uzata.
Ni povas eĉ uzi la valoron en la spam variablo atribui spamado nova valoro:
>>> Spamado = 15
>>> Spamado = spamado + 5
20
>>>
La atribuo deklaro spamado = spamado + 5 estas kiel diri, "la nova valoro de la spam-variablo estos la aktuala valoro de spamado plus kvin." Memoru ke la variablo en la maldekstra flanko de la = signo estos atribuitaj la valoro kiu la esprimo sur la dekstra flanko taksas al. Ni povas ankaŭ teni kreskantan la valoron en spamado per 5 pluraj fojoj:
>>> Spamado = 15
>>> Spamado = spamado + 5
>>> Spamado = spamado + 5
>>> Spamado = spamado + 5
>>> Spamado
30
>>>

Uzanta Pli Ol Unu Variablo

Kiam ni programo ni ne ĉiam volas esti limigita al nur unu variablo. Ofte ni devas uzi plurajn variablojn.
Ekzemple, ni atribui malsamaj valoroj al du variabloj nomata ovoj kaj Fizz, kiel tia:
>>> Fizz = 10
>>> Ovojn = 15
Nun la Fizz variablo havas 10 interne de ĝi, kaj ovojn havas 15 en ĝi.

Figuro 2-5: La "Fizz" kaj "ovojn" variablo havi valoroj stokitaj en ili.
Sen ŝanĝi la valoron en nia spam-variablo, ni provu atribui novan valoron al la spamado variablo. Entajpu spamado = Fizz + ovojn en la ŝelon skribu spamado en la ŝelon por vidi la novan valoron de spamado. Ĉu vi povas diveni kio estos?
>>> Fizz = 10
>>> Ovojn = 15
>>> Spamado = Fizz + ovojn
>>> Spamado
25
>>>
La valoron en spamado estas nun 25 ĉar kiam ni aldonos Fizz kaj ovojn ni aldonante la valoroj stokitaj ene Fizz kaj ovoj.

Overwriting Variabloj

Ŝanĝi la valoro stokita ene variablo estas facila. Nur plenumi alian mision komunikaĵo kun la sama variablo. Rigardu kio okazas kiam oni eniras la sekvan kodon en la interaga konko:
>>> Spamado = 42
>>> Print (spamado)
42
>>> Spamado = 'Saluton'
>>> Print (spamado)
Saluton
Komence, la spamado variablo havis la entjero 42 metitaj ene de ĝi. Pro tio la unua impreso (spamado) presas el 42. Sed kiam ni ekzekuti spamado = 'Saluton', la 42 valoro ĵetis el la variablo kaj forgesita kiel la nova 'Saluton' string valoro estas metita ene de la spam-variablo.
Anstataŭante la valoron en variablo kun nova valoro estas nomita overwriting la valoro. Estas grave scii ke la malnova valoro konstante forgesas. Se vi volas memori ĉi tiu valoro tiel vi povas uzi ĝin poste en via programo, stoki ĝin en malsamaj variabloj antaux overwriting la valoro:
>>> Spamado = 42
>>> Print (spamado)
42
>>> OldSpam = spamado
>>> Spamado = 'Saluton'
>>> Print (spamado)
Saluton
>>> Print (oldSpam)
42
En la supra ekzemplo, antaŭ overwriting la valoron en spamado, ni kopii tiun valoron al variablo nomata oldSpam. Je tiu punkto, ambaŭ spamado kaj oldSpam stoki la valoron 42. En la sekvanta linio, la ĉeno 'Saluton' stokas en spamado sed oldSpam restas netuŝita.

Resumo

En ĉi tiu ĉapitro vi lernis la fundamentojn pri skribado Python instrukcioj. Pitono bezonas vin kaj sciigi precize kion fari en strikta maniero, ĉar komputiloj ne havas komunan senton kaj nur komprenas tre simplajn instrukciojn. Vi lernis ke Python povas taksi esprimoj (tio estas, redukti la esprimon al sola valoro), kaj kiu esprimoj estas valoroj (ekzemple 25) kombinita kun operatoroj (ekz. +-). Vi ankaŭ lernis, ke vi povas stoki valoroj ene de variabloj por ke via programo povas memori ilin por uzi ilin poste.
En la sekvanta ĉapitro, ni iros super iu pli bazaj konceptoj, kaj vi skribas vian unuan programon!
Iru al Ĉapitro 1 - Instalo Python

Nenhum comentário:

Postar um comentário