Ĉi tiu prelego temas pri alia esenca strukturo en Python, nomata opo.
Tuploj
Opoj estas similaj al listoj, do ni povas uzi ilin por konservi liston de eroj. Sed male al listoj, ni ne povas modifi ilin, aldoni novajn erojn aŭ forigi ekzistantajn erojn. Ni povas diri ke la opoj estas neŝanĝeblaj.
Lasu min montri al vi. Opoj estas identigitaj per krampoj anstataŭe de la kvadrataj krampoj en listoj.
numbers = (4, 1, 7, 5, 0, 9)
Nun, se ni eltiras la liston de metodoj por opoj, vi povas vidi, ke ni ne havas la metodojn almeti aŭ enmeti do novajn aĵojn ne povas esti aldonitaj al ĉi tiu opo. Ni havas nur du metodojn: kalkuli kaj indekso.
Ni uzas "kalkuli" por kalkuli la nombron da okazoj de ero. La "indekso" estas uzata por trovi la indekson de la unua okazo de ero. Do, ni povas nur ricevi informojn pri opo, kaj ni ne povas ŝanĝi ĝin. Cetere, ĉi tiuj aliaj metodoj, kiujn vi vidas ĉi tie, komenciĝas per du substrekoj.
Ni nomas ĉi tiujn magiajn metodojn. Ili estas pli altnivela temo, kaj ni tuŝos ilin en nia estonta serio.
Krom esti neŝanĝeblaj, opoj dividas la plej multajn el la karakterizaĵoj de listo.
Praktike parolante, plejofte vi uzos listojn, sed opoj ankaŭ utilas. Se vi volas krei liston de eroj kaj certigi, ke nenie en via programo vi hazarde modifas tiun liston, tiam estas pli bone uzi opon.
Malpakado
En ĉi tiu sekcio, mi montros al vi potencan funkcion, kiun ni havas en python nomatan malpakado.
Ni difinu opon "koordinaton"
coordinate = (1, 2, 3)
Nun imagu, ke ĉi tiuj estas la koordinatoj por 'x', 'y' kaj 'z'. Nun ni diru, ni volas akiri ĉi tiujn valorojn kaj uzi ilin en kelkaj kompleksaj esprimoj en nia programo. Eble, ni volas inkluzivi ilin kiel parton de granda kompleksa formulo.
Do, kune ni devos skribi kodon tiel:
coordinate[0] * coordinate[1] * coordinate[2]
Ĉi tiu linio de kodo multigos ĉiujn koordinatojn sed estas malefike skribi nian kodon tiel. Unue, ni uzu pli bonan aliron kaj konservu ĉi tiujn koordinatojn en apartaj variabloj.
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
Tio estas pli bona. Ĉu ne? Do nenio nova ĝis nun. Nun, lasu min montri al vi potencan funkcion nomatan malpakado kaj per tio ni povas atingi la saman rezulton per multe malpli da kodo.
x, y, z, = coordinate
Nun, ĉi tiu ununura linio de kodo estas ĝuste ekvivalenta al la tri linioj de kodo skribitaj supre. Lasu min klarigi al vi kiel ĝi funkcias.
Kiam la Python-interpretisto vidas ĉi tiun deklaron, ĝi ricevos la unuan eron en ĉi tiu opo kaj asignos ĝin al la variablo. Simile, dua kaj tria eroj estos asignitaj al la variabloj. Farante tion, ni malpakigas ĉi tiun opon en 3 variablojn. Ni kontrolu nian eliron.
Malpakaĵo ankaŭ povas esti farita per listoj.
Vortaroj
Ni lernos pri vortaroj en Python. Ni uzas vortarojn en situacioj kie ni volas konservi informojn, kiuj venas kiel ŝlosil-valoraj paroj.
Jen ekzemplo. Pensu pri kliento kun amaso da atributoj kiel nomo, retpoŝto, telefonnumero, adreso ktp. Nun ĉiu el ĉi tiuj atributoj havas valoron. Ekzemple:
name = Jay
email = [email protected]
En ĉi tiu ekzemplo, niaj ŝlosiloj estas nomo, retpoŝto kaj telefono. Ĉiu ŝlosilo estas asociita kun valoro, do ĉi tie ni uzas vortaron. Per vortaro, ni povas stoki amason da ŝlosil-valoraj paroj. Mi montru al vi kiel difini vortaron en python.
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
La ŝlosilo povas esti agordita al ŝnuroj, nombroj, buleo aŭ io ajn. La ŝlosiloj estas unikaj kaj povas esti difinitaj nur unufoje, te mi ne povas denove difini "aĝon" per iu alia nombro. Ili ankaŭ estas uskleksentemaj.
Nun, se mi tajpas customer["name"],
ĝi vokos la nomon de la kliento. Ni presi ĝin sur la terminalo:
Ni ankaŭ povas uzi la metodojn kun vortaroj. La sama funkcio montrita supre povas esti reproduktita uzante la "get" metodon.
Estas unu aparta diferenco inter ĉi-supraj du metodoj. Lasu min pruvi tion.
Vi povas vidi, ke kiam ni simple presis neekzistantan ŝlosilon, ĝi rezultigis eraron. Aliflanke, uzi la metodon por voki neekzistantan ŝlosilon rezultigas "neniu" rezulton kiu reprezentas la foreston de valoro. Kiam vi uzas la metodon "akiri", ni ankaŭ povas provizi defaŭltan valoron.
Ekzemple, se ĉi tiu vortaro ne havas "naskiĝdaton" ŝlosilon, ni povas provizi ĝin jene:
customer.get("birthdate", "Jan 01, 1994")
Ni povas ankaŭ ĝisdatigi ajnan ŝlosilon en la vortaro, simile al listo. Ni diru, ke ni volas ĝisdatigi la nomŝlosilon en nia vortaro. Jen kiel ni faros ĝin.
customer["name"] = "Shahbaz"
Simila sintakso povas esti uzata por aldoni novan ŝlosilon ankaŭ en nia vortaro. Ni aldonu la ŝlosilon "naskiĝdato" simile.
customer["birthdate"] = "Jan 01, 1994"
Do, ĉi tio estas la bazaĵoj de uzado de vortaroj en Python. Ili estas ekstreme gravaj kaj ili havas multajn aplikojn en la reala mondo.
ekzerco
Vi skribos programon, kiu konvertas ciferojn en vortojn kiel jene:
solvaĵo
Jen la solvo por vi infanoj.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
Simile, vi povas konstrui aliajn amuzajn programojn kiel "emoji-konvertilon" Amuziĝu PYTHONERS!
Envolviĝu!
Mi esperas, ke vi ĝuis ĉi tiun prelegon. Poste, ni plonĝos en signifan aspekton de Python-programado, la funkcioj kaj parametroj.
Lasi Respondon