Python lader programmører oprette objekter kaldet lister til at gemme og hente flere elementer , når der kaldes på. Disse objekter er meget nyttige , men den måde , at Python håndterer objekter og variabler skaber et par faldgruber, både nybegyndere og mellemliggende programmører bør være opmærksomme på , før de finder dataelementer i deres lister bliver mystisk overskrevet med andre data . Python Lister
Python liste objekt opfører mere som Javas ArrayList objekt end det gør en konventionel array. Programmøren behøver ikke at erklære størrelsen af array , da han skaber det, og Python fortolkeren vil automatisk øge listen størrelse til at rumme flere poster , som brugeren tilføjer . Python lister er også betydeligt mere fleksibelt end andre arraylike datastrukturer , at de kan holde forskellige objekter og variable datatyper på samme tid.
Python Objects
Ligesom arrays i andre sprog , kan programmører vælger at placere elementer inde i en Python liste ved direkte at tildele data til en bestemt indeks nummer på listen . Han gør dette med syntaksen "liste [n ] = new- data ", hvor "liste" er navnet på den liste objekt "n " er det element nummer programmøren er at tildele data til , og "nye - data "er data programmøren er tildeling til listen element . Hvis der er data i array element , vil det blive overskrevet.
Class Lister
En måde, at Python programmører uheld overskriver hele lister , snarere end specifikke komponenter , er, når de erklærer en liste som en klasse liste i stedet for en metode listen. Når Pythonfortolkeren instantierer flere objekter fra en klasse erklæring , er de uafhængigt funktionelle og ændringer i variablerne i en vil ikke påvirke variablerne i et andet. Men når en programmør erklærer en liste uden for enhver metode , det er en klasse liste . Denne liste vil være fælles for hvert objekt tolken gør fra klassen erklæring , så vil ændringer i denne liste fra et objekt kan forårsage dens værdier for at ændre i enhver anden genstand.
Korrekt Kopiering Lister
en almindelig fejl for programmører , der kommer til Python fra en anden sprog , er at den syntaks "liste -copy = list -original " for at lave en kopi af "liste -original " såkaldte " ny - listen. " , i Python , men dette fører til både " list- copy " og " liste -original " peger på de samme værdier i hukommelsen. Derfor, når programmøren ændrer element værdier "liste -copy ", vil han opdage, at hans ændringer overskrevet det oprindelige indhold af "liste -original " som godt. Syntaksen "list -copy = (listen -original )" vil kopiere data indholdet af "liste -original " til " list- copy " uden ændringer i en påvirke den anden .
< br >