Dëse Virtrag ass alles iwwer eng aner wesentlech Struktur am Python, genannt Tuple.
Tupels
Tuples sinn ähnlech wéi Lëschten, sou datt mir se benotze fir eng Lëscht vun Artikelen ze späicheren. Awer am Géigesaz zu Lëschte kënne mir se net änneren, nei Elementer derbäisetzen oder existent Elementer ewechhuelen. Mir kënne soen datt d'Tupelen onverännerbar sinn.
Loosst mech Iech weisen. Tuples ginn duerch parenthesis identifizéiert amplaz vun de véiereckege Klammeren an Lëschten.
numbers = (4, 1, 7, 5, 0, 9)
Elo, wa mir d'Method Lëscht fir Tupel erauszéien, kënnt Dir gesinn datt mir d'Append oder Insert Methoden net hunn, sou datt nei Elementer net zu dësem Tupel bäigefüügt kënne ginn. Mir hunn nëmmen zwou Methoden: zielen an Index.
Mir benotzen "zielen" fir d'Zuel vun den Optriede vun engem Artikel ze zielen. Den "Index" gëtt benotzt fir den Index vun der éischter Optriede vun engem Element ze fannen. Also, mir kënnen nëmmen Informatiounen iwwert eng tuple kréien, a mir kënnen et net änneren. Iwwregens, dës aner Methoden, déi Dir hei gesitt, fänkt mat zwee Ënnersträicher un.
Mir bezeechnen dës als magesch Methoden. Si si méi en fortgeschratt Thema, a mir wäerten se an eiser zukünfteg Serie beréieren.
Aner wéi onverännerbar sinn, deelen Tuples déi meescht vun de Charakteristike vun enger Lëscht.
Praktesch gesi benotzt Dir meeschtens Lëschten, awer Tupels sinn och nëtzlech. Wann Dir eng Lëscht vun Elementer wëllt erstellen an sécherstellen datt Dir néierens an Ärem Programm dës Lëscht zoufälleg ännert, dann ass et besser en Tupel ze benotzen.
Auspacken
An dëser Sektioun ginn ech Iech eng mächteg Feature ze weisen, mir hunn am Python Auspacken genannt.
Loosst eis eng Tupel "Koordinate" definéieren
coordinate = (1, 2, 3)
Stellt Iech elo vir datt dëst d'Koordinate fir 'x', 'y' an 'z' sinn. Loosst eis elo soen, mir wëllen dës Wäerter kréien an se an e puer komplex Ausdréck an eisem Programm benotzen. Vläicht wëlle mir se als Deel vun enger grousser komplexer Formel enthalen.
Also, zesumme musse mir de Code esou schreiwen:
coordinate[0] * coordinate[1] * coordinate[2]
Dës Zeil vum Code wäert all d'Koordinaten multiplizéieren awer et ass ineffizient eise Code esou ze schreiwen. Als éischt, loosst eis eng besser Approche benotzen an dës Koordinaten a getrennten Variablen späicheren.
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
Dat ass besser. Riets? Also näischt Neies bis elo. Elo, loosst mech Iech eng mächteg Feature weisen, genannt Auspacken, a mat deem kënne mir datselwecht Resultat mat vill manner Code erreechen.
x, y, z, = coordinate
Elo ass dës eenzeg Zeil vum Code exakt gläichwäerteg mat den dräi Zeilen vum Code hei uewen geschriwwen. Loosst mech Iech erkläre wéi et funktionnéiert.
Wann de Python Dolmetscher dës Ausso gesäit, kritt en den éischten Element an dësem Tupel an ass et un d'Variabel zou. Ähnlech ginn zweet an drëtt Elementer un d'Variabelen zougewisen. Dobäi packe mir dësen Tupel an 3 Variabelen aus. Loosst eis eis Ausgab kontrolléieren.
Auspacken kann och mat Lëschte gemaach ginn.
Dictionnairen
Mir léieren iwwer Dictionnairen am Python. Mir benotzen Dictionnairen a Situatiounen, wou mir Informatioune späichere wëllen, déi als Schlësselwäertpaar kommen.
Hei ass e Beispill. Denkt un e Client mat enger Rëtsch Attributer wéi Numm, E-Mail, Telefonsnummer, Adress, asw. Elo huet all eenzel vun dësen Attributer e Wäert. Zum Beispill:
name = Jay
email = [email protected]
An dësem Beispill sinn eis Schlësselen Numm, E-Mail an Telefon. All Schlëssel ass mat engem Wäert assoziéiert also dat ass wou mir e Wierderbuch benotzen. Mat engem Wierderbuch kënne mir eng Rëtsch Schlësselwäertpaaren späicheren. Loosst mech Iech weisen wéi een e Wierderbuch am Python definéiert.
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
De Schlëssel kann op Strings, Zuelen, Boolesch oder soss eppes gesat ginn. D'Schlësselen sinn eenzegaarteg a kënnen nëmmen eemol definéiert ginn, dh ech kann net "Alter" erëm mat enger anerer Zuel definéieren. Si sinn och case-sensibel.
Elo, wann ech tippen customer["name"],
et wäert den Numm vum Client ruffen. Loosst eis et um Terminal drécken:
Mir kënnen och d'Methoden mat Dictionnairen benotzen. Déi selwecht Funktioun hei uewen demonstréiert ka replizéiert ginn andeems Dir d'"get" Method benotzt.
Et gëtt e besonneschen Ënnerscheed tëscht den uewe genannten zwou Methoden. Loosst mech dat weisen.
Dir kënnt gesinn datt wa mir einfach en net existente Schlëssel gedréckt hunn, et zu engem Feeler resultéiert. Op der anerer Säit, d'Benotzung vun der Methode fir net existente Schlëssel ze ruffen resultéiert an engem "keen" Resultat wat d'Feele vun engem Wäert duerstellt. Wann Dir d'Methode "kréien" benotzt, kënne mir och e Standardwäert liwweren.
Zum Beispill, wann dëst Wierderbuch keen "Gebuertsdatum" Schlëssel huet, kënne mir et esou liwweren:
customer.get("birthdate", "Jan 01, 1994")
Mir kënnen och all Schlëssel am Wierderbuch aktualiséieren, ähnlech wéi eng Lëscht. Loosst eis soen, mir wëllen den Nummschlëssel an eisem Wierderbuch aktualiséieren. Hei ass wéi mir et maachen.
customer["name"] = "Shahbaz"
Eng ähnlech Syntax kann benotzt ginn fir och en neie Schlëssel an eisem Wierderbuch ze addéieren. Loosst eis de Schlëssel "Gebuertsdatum" op eng ähnlech Manéier addéieren.
customer["birthdate"] = "Jan 01, 1994"
Also, dëst ass d'Basis fir Dictionnairen am Python ze benotzen. Si sinn extrem wichteg a si hu vill Uwendungen an der realer Welt.
bewéegen
Dir wäert e Programm schreiwen, deen Zifferen a Wierder konvertéiert wéi dës:
Léisung
Hei ass d'Léisung fir Iech Kärelen.
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)
Ähnlech kënnt Dir aner Spaass Programmer bauen wéi en "Emoji Converter" Vill Spaass PYTHONERS!
Apaken!
Ech hoffen Dir hutt dëse Virtrag genoss. Als nächst wäerte mir an e wesentlechen Aspekt vun der Python Programméierung, d'Funktiounen an d'Parameteren tauchen.
Hannerlooss eng Äntwert