Ĉapitro 1 - Python Bazaj
Subtenu la Aŭtoro: Aĉeti la libron sur Amazono aŭ
la libro / ebook pakaĵo rekte Neniu amelo Gazetaro .
Legi la aŭtora aliaj liberaj Python libroj:
python Bazaj
La Python programlingvo havas larĝan gamon de sintaksaj konstruoj, norma biblioteko funkcioj, kaj interaga disvolviĝo medio karakterizaĵoj. Feliĉe, vi povas ignori la plimulton de tio; Vi nur bezonas lerni sufiĉe por skribi iu oportuna iom programojn.
Vi tamen devas lerni kelkajn bazajn programado konceptoj antaux vi povas fari nenion.
Kiel magiisto-en-trejnado, vi povus pensi tiuj konceptoj ŝajnas arcano
kaj teda, sed kun ioma kono kaj praktiko, vi povos ordoni vian
komputilon kiel magio sceptron elfari nekredebla heroaĵojn.
Ĉi tiu ĉapitro havas kelkajn ekzemplojn, kiuj instigas vin tajpi en la
interaga ŝelo, kiu permesas ekzekuti Python instrukciojn unuope kaj
montras al vi la rezultojn tuj. Uzante la interaga ŝelo estas granda por lerni kion bazaj Python instrukciojn ja, do provu kiel vi sekvas kune. Vi memoras tion vi faras multe pli bone ol tio, vi nur legis.
Enirante Esprimoj en la Interaktiva Konko
Vi kuros la interaga ŝelo lanĉante sencela, kiun vi instalis kun Python en la enkonduko. En Windows, malfermu la Komenco menuo, elektu Ĉiuj Programoj ▸ Python 3.3, kaj tiam elektu sencela (Python GUI). Sur OS X, unuaranga Aplikoj ▸ MacPython 3.3 ▸ sencela. En Ubuntu, malfermi novan Terminal fenestro kaj eniri
idle3
.
Fenestron kun la
>>>
prompto devus aperi; jen la interaga ŝelo. Enigu 2 + 2
ĉe la prompto havi Python fari iun simpla matematiko. >>> 2 + 2 4
La sencela fenestro devus nun montras tekston tiel:
Python 3.3.2 (v3.3.2: d047928ae3f6, majo 16 2013, 00:06:53) [MSC v.1600 64 bitoj (AMD64)] sur Win32 Tajpu "kopirajto", "kreditoj" aŭ "permesilo ()" por pliaj informoj. >>> 2 + 2 4 >>>
En Pitono,
2 + 2
estas nomita esprimo, kiu estas la plej baza speco de programado instrukcion en la lingvo. Esprimoj konsistas de valoroj (kiel 2
) kaj operatoroj (kiel +
), kaj ili povas ĉiam taksi (tio estas, redukti) al sola valoro. Tio signifas ke vi povas uzi esprimojn ie en Python kodon ke vi povus ankaŭ uzi valoro.
En la antaŭa ekzemplo,
2 + 2
estas taksita malsupren al ununura valoro, 4
. Sola valoron sen operatoroj ankaŭ konsiderita esprimo, kvankam ĝi taksas nur por si mem, kiel montras ĉi tie: >>> 2 2
Estas multe de aliaj telefonistoj povas uzi en Python esprimoj, ankaŭ. Ekzemple, Tabelo 1-1 listigas ĉiujn math operatoroj en Python.
Tabelo 1-1. Math Telefonistoj de Plej alta al Lowest Prioritato
Funkciigisto
|
operacion
|
ekzemple
|
Taksas al ...
|
---|---|---|---|
** |
eksponento
| 2 ** 3 | 8 |
% |
Modulo / cetero
| 22 % 8 | 6 |
// |
Entjera divido / floored kvociento
| 22 // 8 | 2 |
/ |
divido
| 22 / 8 | 2.75 |
* |
multipliko
| 3 * 5 | 15 |
- |
subtraho
| 5 - 2 | 3 |
+ |
Krome
| 2 + 2 | 4 |
La ordo de operacioj (ankaŭ nomita prioritaton) de Python math operatoroj estas simila al tiu de matematiko. La
**
operatoro estas taksitaj unuaj; la *
, /
, //
, kaj %
operatoroj estas taksitaj sekva, de maldekstre dekstren; kaj la +
kaj -
operatoroj estas taksitaj lasta (ankaŭ de maldekstre al dekstre). Vi povas uzi krampojn superstiras la kutima prioritaton se vi bezonas. Entajpu la sekvajn esprimojn en la interaga konko: >>> 2 + 3 * 6 20 >>> (2 + 3) * 6 30 >>> 48565878 * 578453 28093077826734 >>> 2 ** 8 256 >>> 23/7 3,2857142857142856 >>> 23 // 7 3 >>> 23% 7 2 >>> 2 + 2 4 >>> (5 - 1) * ((7 + 1) / (3 - 1)) 16.0
En ĉiu kazo, vi kiel la programisto devas eniri la esprimon, sed Python faras la malfacilan parton de taksi ĝin al sola valoro. Python gardos pritaksanta partoj de la esprimo ĝis ĝi iĝas ununura valoro, kiel montrita en Figuro 1-1 .
Figuro 1-1. Pritaksanta esprimo reduktas al sola valoro.
Tiuj reguloj por meti operatoroj kaj valoroj kune formi esprimoj estas
fundamenta parto de Python kiel programlingvo, same kiel la gramatikaj
reguloj kiuj helpos nin komuniki. Jen ekzemplo:
- Jen gramatike korekta angla frazo.
- Tio gramatike estas frazo ne angla korekti.
La dua linio estas malfacile analizi ĉar ĝi ne sekvas la regulojn de la angla. Simile, se vi tajpas en malbona Python instrukcion, Python ne povos kompreni ĝin kaj montros
SyntaxError
erarmesaĝo, kiel montrita tie: >>> 5 + Dosiero "<stdin>", linio 1 5 + ^ SyntaxError: nevalida sintakso >>> 42 + 5 + * 2 Dosiero "<stdin>", linio 1 42 + 5 + * 2 ^ SyntaxError: nevalida sintakso
Vi povas ĉiam provi vidi ĉu instrukcio laboras tajpante ĝin en la interaga ŝelo. Ne zorgu pri rompi la komputilo: La plej malbona kiu povus pasi estas kiu Python respondas kun erarmesagxon. Profesia programaro programistoj ricevi erarmesaĝojn dum skribanta kodo tutan tempon.
La Integer, Floating-Point, kaj String Datumoj Tipoj
Memoru ke esprimoj estas nur valoroj kombinita kun operatoroj, kaj ili ĉiam taksi malsupren al sola valoro. Datumtipo estas kategorio por valoroj, kaj ĉiu valoro apartenas al ekzakte unu datumtipo. La plej komuna datumtipoj en Python estas listigitaj en Tabelo 1-2 . La valoroj
-2
kaj 30
, ekzemple, laŭdire estas entjero valoroj. La entjero (aŭ int) datumtipo indikas valorojn kiuj estas entjeroj. Nombroj kun dekuma punkto, kiel 3.14
, nomataj flosantaj-punktaj nombroj (aŭ flosoj). Notu ke kvankam la valoro 42
estas entjero, la valoro 42.0
estus komo flotante nombro.
Tabelo 1-2. Komuna Datumoj Tipoj
datumtipo
|
ekzemploj
|
---|---|
entjeroj
| -2 , -1 , 0 , 1 , 2 , 3 , 4 , 5 |
Flosanta-punktaj nombroj
| -1.25 , -1.0 , - -0.5 , 0.0 , 0.5 , 1.0 , 1.25 |
kordoj
| 'a' , 'aa' , 'aaa' , 'Hello!' , '11 cats' |
Python programoj povas ankaŭ havi teksto valoroj nomita kordoj, aŭ strs (prononcita "bruo"). Ĉiam ĉirkaŭas vian ĉenon en sola citaĵo (
'
) karakteroj (kiel en 'Hello'
aŭ 'Goodbye cruel world!'
) Por Python scias kie la ŝnuro komencas kaj finoj. Vi povas eĉ havi ĉenon sen karakteroj en gxi, ''
, nomata malplenan ĉenon. Kordoj estas klarigitaj pli detale en ĉapitro 4 .
Se vi iam vidos la erarmesaĝon
SyntaxError: EOL while scanning string literal
, vi certe forgesis la fina unuopaĵo citaĵo karaktero ĉe la fino de la ĉeno, kiel en ĉi tiu ekzemplo: >>> 'Saluton mondo! SyntaxError: EOL dum skanado string laŭvorta
Ĉeno kunmeto kaj Replication
La signifo de operatoro povas ŝanĝi bazita sur la datumtipoj de la valoroj apud ĝi. Ekzemple,
+
estas la aldono operatoro kiam operacias sur du entjeroj aŭ punkto flotante valoroj. Tamen, kiam +
estas uzita sur du kordoj valoroj, ĝi kunigas la kordoj kiel la ĉeno kunmeto operatoro. Eniri la sekva en la interaga konko: >>> 'Alico' + 'Bob' 'AliceBob'
La esprimo taksas al sola, novaj kordoj valoro kiu kombinas la tekston de la du kordoj. Tamen, se vi provas uzi la
+
operatoro sur ŝnuro kaj entjero valoro, Python ne scias kiel manipuli ĉi, kaj ĝi montros erarmesagxon. >>> 'Alico' + 42 Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 26>", linio 1, en <modulo> 'Alico' + 42 TypeError: Ne konverti 'int' celo Str implice
La erarmesaĝo
Can't convert 'int' object to str implicitly
signifas ke Python pensis vi volis concatenate entjero al la ĉeno 'Alice'
. Via kodo devos eksplicite konverti la entjeron al ĉeno, ĉar Python povas fari ĉi aŭtomate. (Konvertado datumtipoj estos klarigita en dissekcia Via programo kiam parolis pri la str()
, int()
, kaj float()
funkcioj.)
La
*
operatoro estas uzata por multipliko kiam operacias sur du entjeraj aŭ punkto flotante valoroj. Sed kiam la *
operatoro estas uzata en unu ĉenon valoro kaj entjero valoro, igas la ĉenon replicación operatoro. Entajpu kordo multiplikita per nombro en la interaga ŝelo vidi tion en ago. >>> 'Alico' * 5 'AliceAliceAliceAliceAlice'
La esprimo taksas al sola ĉeno valoro kiu ripetas la originala plurfoje egala al la entjera valoro. String replicación estas utila truko, sed ĝi ne estas uzata tiel ofte, kiel ĉenon kunmeto.
La
*
operatoro povas esti uzita kun nur du nombraj valoroj (por multipliko)
aŭ ĉeno valoro kaj entjero valoro (por arĉinstrumenta replicación). Alie, Python simple montri erarmesagxon. >>> 'Alico' * 'Bob' Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 32>", linio 1, en <modulo> 'Alico' * 'Bob' TypeError: ne multigu sekvenco de ne-int de tipo 'str' >>> 'Alico' * 5.0 Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 33>", linio 1, en <modulo> 'Alico' * 5.0 TypeError: ne multigu sekvenco de ne-int de tipo 'float'
Ĝi faras senton ke Python ne komprenus tiuj esprimoj: Vi ne povas
multipliki du vortoj, kaj estas malfacile repliki ajna ĉeno frakcian
nombron de tempoj.
Stokante Valoroj en Variabloj
Variablo estas kiel skatolo en la komputilo memoro kie vi povas stoki ununuran valoron. Se vi volas uzi la rezulto de taksitaj esprimo poste en via programo, vi povas konservi ĝin ene de variablo.
asigno Deklaroj
Vi stoki valorojn en variabloj kun asigno komunikaĵo. Asigno deklaro konsistas el variablo nomo, egala signo (nomita la asigno operatoro), kaj la valoro por esti stokita. Se vi eniras la asigno komunikaĵo
spam = 42
, tiam variablo nomata spam
havos la entjera valoro 42
stokitaj en ĝi.
Pensu variablon kiel etikeditaj skatolo kiu valoro estas metita en, kiel en Figuro 1-2 .
Figuro 1-2. spamado = 42 estas kiel diri la programo "La variablo spamado nun havas la entjera valoro 42 en ĝi."
Ekzemple, tajpu la sekvajn en la interaga konko:
❶ >>> spamado = 40 >>> spamon 40 >>> Ovojn = 2 ❷ >>> spamado + ovojn 42 >>> Spamado + ovojn + spamon 82 ③ >>> spamado = spamado + 2 >>> spamon 42
Variablo estas inicializado (aŭ kreitaj) unuafoje valoro estas stokita en ĝi ❶. Post tio, vi povas uzi ĝin en esprimoj kun aliaj variabloj kaj valoroj ❷. Kiam variablo estas atribuita nova valoro ③, la malnova valoro estas forgesita, tial
spam
taksitaj al 42
anstataŭ 40
fine de la ekzemplo. Tio nomiĝas superskribi la variablo. Eniri la sekvan kodon en la interaga ŝelo provi superskribi ŝnuro: >>> Spamado = 'Saluton' >>> spamon Saluton >>> Spamado = 'Adiaŭ' >>> spamon 'Adiaŭ'
Ĝuste kiel la skatolo en Figuro 1-3 , la
spam
variablo en tiu ekzemplo tendencas 'Hello'
ĝis vi anstataŭi ĝin kun 'Goodbye'
.
Figuro 1-3. Kiam nova valoro estas atribuita al variablo, la maljuna ne estas forgesita.
ŝanĝiĝema Nomoj
Tabelo 1-3 havas ekzemplojn de juraj variablo nomoj. Vi povas nomi variablo ion dum ĝi obeas la jenaj tri reguloj:
- Ĝi povas esti nur unu vorto.
- Ĝi povas uzi nur literojn, nombrojn, kaj la substreko (
_
) karaktero. - Ĝi ne povas komenci per numeralo.
Tabelo 1-3. Valida kaj Nevalida Variablo Nomoj
Valida variablo nomoj
|
Nevalida variablo nomoj
|
---|---|
balance | current-balance (streketoj estas malpermesataj) |
currentBalance | current balance (spacoj estas malpermesataj) |
current_balance | 4account (ne povas komenci per nombro) |
_spam | 42 (ne povas komenci per nombro) |
SPAM | total_$um (supersignoj kiel $ estas malpermesataj) |
account4 | 'hello' (supersignoj kiel ' ne estas permesitaj) |
Variablo nomoj estas uskladon, signifante ke
spam
, SPAM
, Spam
, kaj sPaM
estas kvar malsamaj variabloj. Estas Python konvencio komenci vian variabloj kun minuskla litero.
Tiu libro uzas CamelCase por variablo nomoj anstataŭ substrekoj; te variablojn
lookLikeThis
anstataŭ looking_like_this
. Iuj spertaj programistoj povas atentigi ke la oficiala Python kodo stilo, PEP 8 diras ke substrekoj uziĝu. Mi unapologetically preferas CamelCase kaj punkto "A Malsaĝa Konsistenco estas la Hobgoblin de Little Minds" en PEP 8 mem: "Konsistenco kun la stilo gvidas gravas. Sed plej grave: koni kiam esti malkonsekvencaj-foje la stilo gvidas simple ne aplikas. Kiam en dubo, uzu vian bona juĝo. "
Bona variablo nomo priskribas la datumoj enhavas. Imagu ke vi movis al nova domo kaj etikedis ĉiujn viajn movanta skatoloj kiel Stuff. Vi neniam trovis ion! La variablo nomoj
spam
, eggs
kaj bacon
estas uzataj kiel genérico nomojn por la ekzemploj en ĉi tiu libro kaj
en multe de Python dokumentado (inspirita la Monty Python "Spamo"
skizo), sed en via programoj, priskriban nomon helpos fari vian kodo pli
legebla. Via Unua Programo
Dum la interaga ŝelo estas bona por kuri Python instrukciojn unuope,
skribi tutaj Python programoj, vi tajpas la instrukciojn en la dosiero
redaktoro. La dosiero redaktanto estas simila al teksto redaktiloj kiel Notepad aŭ TextMate, sed havas iujn specifajn trajtojn por tajpi en fontkodo. Malfermi la dosieron redaktanto en sencela, elektu Dosiero ▸ Nov Dosiero.
La fenestro kiu aperas devus enhavi kursoron atendante via enigo, sed
ĝi estas malsama de la interaga ŝelon, kiu kuras Python instrukciojn
kiam vi premas ENTER. La dosiero redaktilo permesas tajpi en multaj instrukcioj, savu la dosieron kaj kuri la programon. Jen kiel vi povas distingi inter la du:
- La interaga ŝelon fenestro ĉiam estos la unu kun la
>>>
prompto. - La dosiero redaktanto fenestro ne havas la
>>>
prompto.
Nun estas tempo por krei vian unuan programo! Kiam la dosiero redaktanto fenestro malfermiĝas, tajpi la sekva en gxi:
❶ # tiu programo diras saluton kaj petas mian nomon. ❷ print ( 'Saluton mondo!') print ( 'Kio estas via nomo?) # peti lian nomon ③ myName = input () ④ print ( 'Ĝi estas bona renkonti vin,' + myName) ⑤ print ( 'La longeco de via nomo estas:') print (len (myName)) ⑥ print ( 'Kio estas via aĝo?) # Peti lian aĝon myAge = input () print ( 'Vi estos' + str (int (myAge) + 1) + 'en jaro.')
Kiam vi eniris vian fontkodon, konservu ĝin por ke vi ne devas Retajpu ĝi ĉiufoje vi komenci sencela. El la menuo ĉe la supro de la dosiero redaktanto fenestro, elektu Dosiero ▸ Konservu kiel. En la Konservi Kiel fenestro, eniru
hello.py
en la dosiera Nomo kampo kaj poste alklaku Konservi.
Vi devus konservi viajn programojn ĉiu tempaltempe kiel vi tajpas ilin. Tiel, se la komputilo paneos aŭ vi akcidente eliro el Mallaboruloj vi ne perdos la kodon. Kiel ŝparvojo, vi povas premi CTRL -S sur Vindozo kaj Linukso aŭ ⌘-S sur OS X savi vian dosieron.
Iam vi savis, ni kuras nia programo. Elektu Run ▸ Run Modulo aŭ premi la klavon F5. Via programo devus funkcii en la interaga ŝelo fenestro kiu aperis kiam vi unue komencis sencela. Memoru, vi devas premi F5 de la dosiero redaktanto fenestro, ne interagaj ŝelon fenestro. Entajpu vian nomon kiam via programo petas ĝin. La programo eligo en la interaga ŝelo devus rigardi ion tiel:
Python 3.3.2 (v3.3.2: d047928ae3f6, majo 16 2013, 00:06:53) [MSC v.1600 64 bitoj (AMD64)] sur Win32 Tajpu "kopirajto", "kreditoj" aŭ "permesilo ()" por pliaj informoj. >>> ================================ Rekomenco ============== ================== >>> Saluton mondo! Kio estas via nomo? Al Estas bone renkonti vin, Al La longo de via nomo estas: 2 Kiom da jaroj vi havas? 4 Vi estos 5 en jaro. >>>
Kiam ne ekzistas pli linioj de kodo al ekzekuti, la Python programo finiĝas; tio estas, ĝi haltas kurante. (Vi povas ankaŭ diri ke la Python programo elirojn.)
Vi povas fermi la dosieron redaktanto klakante la X ĉe la supro de la fenestro. Reŝarĝi konservita programon, elektu Dosiero ▸ Open de la menuo. Fari tion nun, kaj en la fenestro kiu aperas, elektu hello.py kaj klaku Malferma butonon. Via antaŭe savis hello.py programo devus malfermi en la dosiero redaktanto fenestro.
Dissekcia Via Programo
Kun via nova programo malfermita en la dosiero redaktoro, ni prenu
rapidan turneo de la Python instrukciojn uzas rigardante kion ĉiu linio
de kodo faras.
komentoj
La sekva linio estas nomata komenton.
❶ # tiu programo diras saluton kaj petas mian nomon.
Python ignoras komentojn kaj vi povas uzi ilin por skribi notoj aŭ rememorigi vin mem kion la kodo provas fari. Neniu teksto por la resto de la linio sekvante hash markon (
#
) estas parto de rimarkon.
Kelkfoje, programistoj metos
#
antaŭ linion de kodo por provizore forigi ĝin testante programon. Tiu estas nomata komentante el kodon, kaj ĝi povas esti utila kiam vi provas diveni kial programo ne funkcias. Vi povas forigi la #
poste kiam vi pretas meti la linion reen en.
Python ankaŭ ignoras la malplena linio post la komento. Vi povas aldoni tiom da malplenaj linioj al via programo kiel vi volas. Tio povas fari vian kodon pli facile legi, kiel paragrafoj en libro.
La presita () Funkcio
La
print()
funkcio vidigas la kordo valoro ene la krampoj sur la ekrano. ❷ print ( 'Saluton mondo!') print ( 'Kio estas via nomo?) # peti lian nomon
La linio
print('Hello world!')
Signifas "presi la tekston en la ĉeno 'Hello world!'
." Kiam Python ekzekutas ĉi linio, vi diras ke Python estas vokanta la print()
funkcio kaj la kordoj valoro estas aprobotaj al la funkcio. Valoro trapasintan de funkcio estas argumento. Rimarku ke la citaĵoj ne presita por la ekrano. Ili simple marki kie la ŝnuro komencas kaj finiĝas; Ili ne estas parto de la kordo valoro. noto
Vi povas ankaŭ uzi tiun funkcion meti malplenan linion sur la ekrano; nur voki
print()
kun nenio en inter la krampoj.
Kiam skribi funkcio nomo, la malfermo kaj fermo krampoj fine identigi ĝin kiel la nomo de funkcio. Jen kial en ĉi tiu libro vi vidos
print()
anstataŭ print
. Ĉapitro 2 priskribas funkcioj pli detale. La enigo () Funkcio
La
input()
funkcio atendas la uzanto tajpas tekston sur la klavaro kaj premu ENTER. ③ myName = input ()
Tiu funkcio alvoko taksas al kordo egalas la uzanto teksto, kaj la antaŭa linio de kodo asignas la
myName
variablo al ĉi string valoro.
Vi povas pensi de la
input()
funkcio alvokon kiel esprimo kiu taksas al kiom ŝnuro al la uzanto tajpas in. Se la uzanto eniris 'Al'
, tiam la esprimo estus taksi al myName = 'Al'
. Presi la uzanto Nomo
La jenaj alvoko al
print()
fakte enhavas la esprimon 'It is good to meet you, ' + myName
inter la krampoj. ④ print ( 'Ĝi estas bona renkonti vin,' + myName)
Memoru ke esprimoj povas ĉiam taksi al sola valoro. Se
'Al'
estas la valoro stokita en myName
sur la antaŭa linio, tiam ĉi tiu esprimo taksas al 'It is good to meet you, Al'
. Tiu sola kordoj valoro estas tiam pasis al print()
, kiu presas ĝin sur la ekrano. La len () Funkcio
Vi povas pasi la
len()
funkcio kordo valoro (aŭ variablon enhavanta ŝnuro), kaj la funkcio
taksas la entjera valoro de la nombro da karakteroj en tiu ĉeno. ⑤ print ( 'La longeco de via nomo estas:') print (len (myName))
Eniri la sekva en la interaga ŝelo provi tiun:
>>> Len ( 'saluton') 5 >>> Len ( 'Mia tre energia monstro ĵus scarfed nachos.') 46 >>> Len ( '') 0
Samkiel tiuj ekzemploj,
len(myName)
taksas al entjero. Ĝi tiam pasis al print()
por esti montrita sur la ekrano. Rimarku ke print()
permesas pasi lin aŭ entjeraj valoroj aŭ ŝnuro valoroj. Sed rimarki la eraro kiu aperas kiam vi tajpas la sekva en la interaga konko: >>> Print ( 'Mi estas' + 29 + 'jaroj.) Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 6>", linio 1, en <modulo> presi ( 'mi' + 29 + 'jaroj.) TypeError: Ne konverti 'int' celo Str implice
La
print()
funkcio ne farante ke eraro, sed prefere ĝi estas la esprimo vi provis pasi al print()
. Vi akiras la saman erarmesaĝon se vi tajpas la esprimo en la interaga ŝelo sur ĝia propra. >>> 'Mi estas' + 29 + 'jarojn. Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 7>", linio 1, en <modulo> 'Mi estas' + 29 + 'jarojn. TypeError: Ne konverti 'int' celo Str implice
Python donas eraro ĉar vi povas uzi la
+
operatoro nur aldoni du entjeroj kune aŭ concatenate du ŝnuroj. Vi ne povas aldoni entjero al ĉeno ĉar tiu estas ungrammatical en Python. Vi povas korekti tiun uzante kordo versio de la entjera anstataŭe, kiel klarigita en la sekva sekcio. La str (), int (), kaj float () Funkcioj
Se vi volas concatenate entjero kiel
29
kun ŝnuro pasi al print()
, vi bezonos akiri la valoron '29'
, kiu estas la kordo formo de 29
. La str()
funkcio povas esti pasita entjera valoro kaj taksos al ĉeno valoro versio de ĝi, kiel sekvas: >>> Str (29) '29' >>> Print ( 'Mi estas' + str (29) + 'jaroj.) Mi estas 29 jara.
Ĉar
str(29)
taksas al '29'
, la esprimo 'I am ' + str(29) + ' years old.'
Taksas al 'I am ' + '29' + ' years old.'
, Kiu siavice taksas al 'I am 29 years old.'
. Tio estas la valoro kiu estas pasita al la print()
funkcio.
La
str()
, int()
, kaj float()
funkcioj taksos al la ĉeno, entjero kaj punkto flotante formoj de la valoro sekvinberoj, respektive. Provu konvertante kelkaj valoroj en la interaga ŝelo kun tiuj funkcioj, kaj rigardi kio okazas. >>> Str (0) '0' >>> Str (-3.14) '-3,14' >>> Int ('42) 42 >>> Int ( '- 99') -99 >>> Int (1.25) 1 >>> Int (1.99) 1 >>> Kaleŝego ( '3.14 ") 3.14 >>> Kaleŝego (10) 10.0
La antaŭaj ekzemploj voki la
str()
, int()
, kaj float()
funkcioj kaj pasi ilin valoroj de la aliaj datumtipoj akiri string, entjero, aŭ komo flotante formo de tiuj valoroj.
La
str()
funkcio estas oportuna kiam vi havos entjero aŭ kaleŝego ke vi volas concatenate al ĉeno. La int()
funkcio estas ankaŭ utila se vi havas numeron kiel linio valoro kiun vi volas uzi en iuj matematikaj. Ekzemple, la input()
funkcio ĉiam redonas ĉenon, eĉ se la uzanto enigas kelkajn. Eniri spam = input()
en la interaga ŝelo kaj eniri 101
kiam atendas vian tekston. >>> Spamado = input () 101 >>> spamon '101'
La valoro stokita ene
spam
ne la entjero 101
sed la ĉeno '101'
. Se vi volas fari math uzante la valoron en spam
, uzi la int()
funkcion por ricevi la entjera formo de spam
kaj tiam stoki ĉi kiel la nova valoro en spam
. >>> Spamado = int (spamon) >>> spamon 101
Nun vi devus esti kapabla trakti la
spam
variablo kiel entjero anstataŭ ŝnuro. >>> Spamado * 10/5 202,0
Notu ke se vi pasas valoron al
int()
ke ĝi povas taksi kiel entjero, Python montros erarmesagxon. >>> Int ('99 .99 ') Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 18>", linio 1, en <modulo> int ('99 .99 ') ValueError: nevalida laŭvorta por int () kun bazo 10: '99 .99 ' >>> Int ( 'dekdu') Traceback (plej lasta alvoko lasta): Dosiero "<pyshell # 19>", linio 1, en <modulo> int ( 'dekdu') ValueError: Nevalida laŭvorta por int () kun bazo 10: 'dekdu'
La
int()
funkcio estas ankaŭ utila se vi devas cxirkauxtondu ŝveba-punkto nombron malsupren. Se vi volas rondigi ŝveba-punkto nombro supren, nur aldonu 1
al ĝi poste. >>> Int (7,7) 7 >>> Int (7,7) + 1 8
En via programo, vi uzis la
int()
kaj str()
funkcioj en la lastaj tri linioj akiri valoron de la taŭga datumtipo por la kodo. ⑥ print ( 'Kio estas via aĝo?) # Peti lian aĝon myAge = input () print ( 'Vi estos' + str (int (myAge) + 1) + 'en jaro.')
La
myAge
variablo enhavas la valoron revenis de input()
. Ĉar la input()
funkcio ĉiam redonas ĉenon (eĉ se la uzanto tajpas en nombro), vi povas uzi la int(myAge)
kodo reveni entjero valoro de la ŝnuro en myAge
. Ĉi entjera valoro estas tiam aldonita al 1
en la esprimo int(myAge) + 1
.
La rezulto de ĉi tiu adición estas pasita al la
str()
funkcio: str(int(myAge) + 1)
. La kordoj valoro revenis tiam kroĉitaj kun la kordoj 'You will be '
kaj ' in a year.'
Taksi al unu granda ĉeno valoro. Tiu granda ĉeno fine pasis al print()
por esti montrita sur la ekrano.
Diru la uzanto enigas la ĉenon
'4'
por myAge
. La kordo '4'
estas konvertita al entjero, do vi povas aldoni al tio. La rezulto estas 5
. La str()
funkcio konvertas la rezulton reen al ŝnuro, do vi povas concatenate ĝin per la dua ŝnuro, 'in a year.'
, Krei la finan mesaĝon. Tiuj pritakso paŝoj aspektus ion kiel Figuro 1-4 .
Figuro 1-4. La pritakso paŝoj, se
4
estis stokitaj en myAge
resumo
Vi povas komputi esprimoj kun kalkulilo aŭ tipo string ligojn kun tekstoprilaborilo. Vi povas eĉ fari ĉenon replicación facile por kopii kaj bati teksto.
Sed esprimojn kaj iliajn komponanto valoroj-operatoroj, variabloj, kaj
funkcio alvokoj-estas la baza konstruaĵo blokoj kiuj faras programojn. Unufoje vi scias kiel manipuli tiujn elementojn, vi povos instrui Python por operacii sur grandaj kvantoj de datumoj por vi.
Estas bone memori la malsamajn tipojn de operatoroj (
+
, -
, *
, /
, //
, %
kaj **
por math operaciojn, kaj +
kaj *
por arĉinstrumenta operacioj) kaj la tri datumtipojn (entjeroj, komo flotante nombroj kaj ĉenoj) enkondukis en ĉi ĉapitro.
Kelkaj malsamaj funkcioj estis enkondukitaj tiel. La
print()
kaj input()
funkcioj manipuli simpla teksto eligo (por la ekrano) kaj enigo (de la klavaro). La len()
funkcio prenas kordoj kaj taksas al int de la nombro da karakteroj en la ŝnuro. La str()
, int()
, kaj float()
funkcioj taksos al la ĉeno, entjero, aŭ komo flotante nombro formo de la valoro ili estas pasitaj.
En la sekva ĉapitro, vi lernos kiel diri Python fari inteligenta
decidoj pri kio kodo kuri, kion kodo salti, kaj kion kodo ripeti bazita
sur la valoroj havas. Ĉi tio konas kiel fluo kontrolo, kaj ĝi permesas skribi programojn kiuj faras inteligentajn decidojn.
praktiko Demandoj
Q:
|
1. Kiu el la sekvaj estas operatoroj, kaj kiu estas valoroj?
* 'Saluton' -88,8 - / + 5 |
Q:
|
2. Kiuj el la jenaj estas variablo, kaj kio estas kordo?
spamo 'spamo' |
Q:
|
3. Nomo tri datumtipoj.
|
Q:
|
4. Kio estas esprimo konsistas el? Kion ĉiuj esprimoj faru?
|
Q:
|
5. Tiu ĉapitro enkondukita asigno deklaroj, kiel
spam = 10 . Kio estas la diferenco inter esprimo kaj deklaro? |
Q:
|
6. Kion faras la variablo
bacon enhavi post la sekvan kodon kuroj? lardo = 20 lardo + 1 |
Q:
|
7. Kion la sekvaj du esprimoj taksi al?
'Spamado' + 'spamspam' 'Spamado' * 3 |
Q:
|
8. Kial
eggs validan variablo nomo dum 100 estas nevalida? |
Q:
|
9. Kion tri funkcioj povas esti uzata por akiri la entjero, komo flotante nombro, aŭ ŝnuro versio de valoro?
|
Q:
|
10. Kial tiu esprimo kaŭzi eraron? Kiel vi povas ripari ĝin?
'Mi manĝis' + 99 + 'burritos.
Ekstra kredito: Serĉi enretan por la Python dokumentado por la
len() funkcio. Estos en retpaĝo titolita "Enkorpigita Funkcioj." Foliumu la lerta de aliaj funkcioj Python havas, serĉi kion la round() funkcio faras kaj eksperimento kun ĝi en la interaga ŝelo. |
Nenhum comentário:
Postar um comentário