Python

veranderlijk vs. Onveranderlijke objecten in Python

veranderlijk vs. Onveranderlijke objecten in Python

Python zou de meest verbazingwekkende taal zijn, omdat veel mensen het als hun eerste programmeertaal kiezen vanwege de elegantie en eenvoud and. Dankbaar voor de brede gemeenschap, het grote aantal pakketten en de consistente syntaxis, gebruiken ervaren professionals ook Python. Hoewel er één ding is dat zowel beginners als sommige professionele ontwikkelaars lijkt te irriteren, objecten van Python.

veranderlijk vs. Onveranderlijk

Veranderlijk entiteiten kunnen wijzigen hun staat of substantie om de ongelijkheid te beschrijven, en onveranderlijk entiteiten kunnen hun staat of substantie niet veranderen. Dus wanneer een object wordt gemaakt, wordt een speciale object-ID is toegewezen. Tijdens runtime wordt het soort object gespecificeerd en kan het later niet worden bijgewerkt. Ingebouwde formulieren zoals int, float, bool, str, tuple en Unicode-variabelen zijn onveranderlijk. Objecten zoals lijst, set, byte-arrays en woordenboek van ingebouwde categorieën zijn veranderlijk.

Begrijp ID en Type Functie

de geïntegreerde ID kaart() methode bevat de id van een object als gewoon een geheel getal. Dat gehele getal verwijst normaal gesproken naar de opslagpositie van het object. De 'is' operator relateert de identiteit van twee objecten aan elkaar. De geïntegreerde functie, type(), geeft het soort object terug. Vergelijk twee variabelen 'X' en 'ja', met dezelfde waarde, met behulp van de gelijkheidsoperator 'x == y', het zal worden uitgevoerd waar. De ... gebruiken id() functie, we hebben de vergeleken geheugen adressen van beide variabelen, zal het output niet waar omdat beide variabelen verschillend zijn en zich op verschillende geheugenlocaties bevinden, hoewel de waarden die ze bevatten dezelfde zijn.

Maak nog een variabele 'z' wat verwijst naar de identieke entiteit die 'X' verwijst naar, met behulp van toewijzingsoperator '='. De ... gebruiken 'is' operator hebben we ontdekt dat ze allebei naar hetzelfde object verwijzen en dezelfde geheugenadressen hebben.

Onveranderlijke variabele typen

Laten we eens kijken naar enkele onveranderlijke typen variabelen.

Geheel gegevenstype

Laten we een variabele definiëren 'X'waarde hebben'10'. een ingebouwde id() methode wordt gebruikt om de locatie van 'X' in het geheugen en type() wordt gebruikt om het type te identificeren. Wanneer we proberen de waarde van ' te veranderenX', het is met succes gewijzigd, hoewel het geheugenadres anders terugkeert. Het is omdat we de waarde van ' niet echt hebben gewijzigdX', maar we hebben een ander object gemaakt met dezelfde naam 'X' en geef het een andere waarde. We hebben de naam 'verbonden'X' naar de nieuwe waarde. Nu, wanneer je belt 'X' het zal de nieuwe waarde uitvoeren.

String gegevenstype

Hetzelfde geldt voor het gegevenstype string, we kunnen de bestaande niet wijzigen variabele maar we moeten creëren een nieuwe met dezelfde naam. Hier hebben we gedefinieerd een stringvariabele 'X' en wil toevoegen 'met wie' naar zijn nul-indexen. Het zal output Typefout, waaruit blijkt dat het tekenreeksobject geen update ondersteunt.

Tuple-gegevenstype

Een glimp opvangen van een tuple-type variabele, we hebben gedefinieerd a tupel met 4 waarden. We hebben gebruik gemaakt van de id() functie om zijn adres uit te voeren. Wanneer we de waarde ervan willen wijzigen op 0 indexen, het geeft de Typefout die tuple ondersteunt geen itemtoewijzing of update.

Integendeel, je kunt bijwerken de hele tupel door het te definiëren van krassen. Nu, wanneer u het controleert, vindt u een nieuwe waarde en een nieuw adres.

Float gegevenstype

We hebben een variabele van het type float 'X'. De ... gebruiken id() functie, we moeten het adres weten. Wanneer we de waarde ervan willen wijzigen op index 1, het geeft de Typefout die float ondersteunt geen itemmodificatie.

Omgekeerd hebben we de vlotter door het opnieuw te definiëren. Nu, wanneer we het noemen, zullen we een nieuwe waarde en een nieuw adres vinden.

Veranderlijke variabele typen

Nu zullen we kijken naar enkele veranderlijke variabele typen.

Gegevenstype weergeven

We hebben gedefinieerd a lijst genaamd 'X' en voeg er enkele waarden aan toe. Terwijl rennen, het zal lijstwaarden weergeven. Wanneer je bijwerken de lijst door nieuwe waarden toe te wijzen aan index 0 en 2, het zal dat met succes doen.

Het hierboven beschreven voorbeeld is een eenvoudig en eenvoudig voorbeeld van modificatie. Laten we, om de veranderlijkheid naar een ander niveau te controleren, eens kijken naar hetzelfde voorbeeld met weinig verandering. We hebben een nieuwe naam gemaakt 'ja' en bond het aan hetzelfde lijstobject. Toen we controleerden of de 'X' is hetzelfde als 'ja', het retourneert True. Anderzijds zijn zowel 'X' en 'ja' heb de dezelfde geheugen adressen.

Voeg nu een nieuwe waarde toe aan a lijstnaam 'x' en controleer de bijgewerkte uitvoer.

Nu, wanneer u controleert op lijst naam 'j', het zal dezelfde lijst weergeven als voor 'x'. Dat betekent dat wanneer we dezelfde objectlijst bijwerken, die twee verschillende namen 'x' en 'y' heeft. Beide zijn hetzelfde en delen dezelfde geheugenadressen, zelfs na de wijziging.

Woordenboekgegevenstype

Aangezien woordenboeken veelgebruikte variabelen zijn in Python, laten we eens kijken naar de veranderlijkheid van woordenboeken. We hebben een woordenboek gedefinieerd met de naam 'dictaat' met drie sleutels en hun waarden. Wanneer we het afdrukken, wordt alle inhoud ervan weergegeven. U kunt elke woordenboekwaarde afzonderlijk afdrukken, evenals hun sleutels in plaats van indexen.

Wij willen verandering de specifieke waarde door het bijwerken van de toets 'Naam'. Het zal het bijgewerkte woordenboek uitvoeren. Woordenboeksleutels zijn onveranderlijk.

Laten we a definiëren lijst en tupel afzonderlijk. Zeker weten dat tupel moet een hebben lijst type waarde erin en een lijst hebben een tuple type waarde daarin consequent.

EEN tupel heeft een lijst op zijn 0 indexen dus als je verandert bij de 0 indexen van een tupel, je moet de inhoudsopgave van een lijst waar u wilt wijzigen. Verandering vindt plaats omdat de lijst onveranderlijk is.

Integendeel, de lijstvariabele kan niet worden bijgewerkt omdat deze een . heeft tupel Aan 0 index, wat veranderlijk is.

Conclusie

We hebben variaties gezien in Python tussen veranderlijk en onveranderlijk. Je moet duidelijk maken dat alles in Python een object wordt genoemd. In de eerste plaats het onderscheid tussen objecten die veranderlijk zijn vs. onveranderlijk.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...