Object heeft Javascript-kenmerk

| | | | | | |

Attributen zijn waarden of functies die zijn gekoppeld aan een object, gegevenstype of klasse. Als je een attribuut aanroept op een waarde waarvan het datatype of de klasse dat attribuut niet ondersteunt, zul je een AttributeError tegenkomen.

In deze handleiding wordt uitgelegd wat een AttributeError is en wat het betekent. We zullen een voorbeeld van een Python-kenmerkfout bekijken, zodat u kunt leren hoe u er een in uw code kunt oplossen.

Wat is een Python-kenmerkfout?

Een Python-kenmerkfout wordt gegenereerd wanneer u een attribuut probeert aan te roepen van een object waarvan het type deze methode niet ondersteunt. Als u bijvoorbeeld de methode Python append () op een string probeert te gebruiken, retourneert een AttributeError omdat strings dat niet doen ondersteunt append () niet.

In een Python-klasse kunt u methoden en waarden definiëren ‚Äã‚ Äãgedeeld door objecten van die klasse. Dit is waarom sommige mensen klassen beschouwen als projecten voor objecten.

Het aanroepen van een methode of een klasse is een andere manier om te zeggen dat je verwijst naar een attribuut van die klasse. Een manier om aan een attribuut te denken is als een fysiek attribuut van een persoon. Sommige mensen hebben blauwe ogen. Sommige mensen hebben hun haar roze geverfd. Dit zijn allemaal attributen.

In een Python-klasse kan een attribuut "eye_color" zijn. Dit attribuut kan de kleur van iemands ogen definiëren. Een attribuut kan ook een functie zijn. Een functie genaamd changeEyeColor () kan de waarde van "eye_color" wijzigen.

Gegevenstypen hebben attributen. U kunt bijvoorbeeld de Python join ()-methode gebruiken om een string naar een lijst te converteren. Stringobjecten ondersteunen de methode join ().

Als u probeert te verwijzen naar een functie of waarde die niet is gekoppeld aan een klasseobject of gegevenstype, zult u een AttributeError tegenkomen.

p>

Voorbeeld van Python-attribuutfout

Laten we een programma schrijven dat twee schoenenlijsten combineert. schoenenwinkels fuseren en willen een lijst samenstellen van alle unieke schoenen die ze verkopen.

Om te beginnen, laten we een Python-set definiëren die de schoenen bevat van de eerste winkel, Harrisons Shoes:

We gebruiken bretels om onze set te definiëren. Vervolgens definiëren we een set met de namen van de schoenen die worden aangeboden door de winkel die fuseert met Harrisons. Deze schoenenwinkel heet Shoe Emporium:

Aangezien deze twee collecties collecties zijn, kunnen ze alleen unieke waarden opslaan . Dit betekent dat wanneer we ze toevoegen, we een set krijgen zonder dubbele waarden.

Om onze sets toe te voegen, gebruiken we de ingebouwde functie genaamd extend ():

De extend ()< /em> voegt alle schoenen in de "shoe_emporium" set toe aan de "harrisons_shoes" set . We gebruiken een print () -statement. Hierdoor kunnen we alle schoenen in onze nieuwe set zien. Laten we onze code uitvoeren en kijken wat er gebeurt:

Onze code retourneert een AttributeError.

Onze foutmelding vertelt ons dat we de methode extend () niet kunnen gebruiken voor een object waarvan het gegevenstype een verzameling is. Dit komt omdat extend () een lijstmethode is. Het wordt niet ondersteund door sets.

Als we onze twee sets willen samenvoegen, moeten we een plusteken gebruiken:

Hiermee wordt de inhoud van de "shoe_emporium"-set toegevoegd aan de "harrisons_shoes"-set . Vervolgens printen we alle waarden ‚Äã‚Äãin de map " harrisons_shoes " die op de console is gedefinieerd. Laten we ons nieuwe programma uitvoeren:

Ons programma retourneert een set met alle schoenen uit onze twee originele sets. Terwijl er zes waarden ‚Äã‚Äã waren in onze oorspronkelijke twee sets, zijn er nu slechts vijf. Dit komt omdat twee schoenen identiek waren en sets alleen unieke waarden kunnen opslaan.

Ons programma retourneert één set met alle schoenen uit onze twee originele sets. Terwijl er zes waarden waren ‚Äã‚ Äãin onze oorspronkelijke twee sets zijn er nu nog maar vijf. Dit komt omdat twee van de schoenen hetzelfde waren en de sets alleen unieke waarden kunnen opslaan.

Vergelijkbare attribuutfouten om te onderzoeken

Attribuutfouten komen ongelooflijk vaak voor. Ze kunnen optreden wanneer u attributen probeert aan te roepen van gegevenstypen en klassen die dit doen. ondersteunt het kenmerk waarnaar u verwijst niet.

Deze fouten kunnen ook worden veroorzaakt als u een typefout maakt bij het verwijzen naar een kenmerk. Python zal uw code interpreteren zoals deze is. Als je een typfout maakt, zal het in Python verschijnen dat je verwijst naar een attribuut dat niet bestaat.

Bijvoorbeeld, met behulp van Python split () om een lijst te splitsen komt veel voor. Maar split () is een tekenreeksmethode en kan daarom niet worden gebruikt om een lijst te splitsen.

Controleer voor meer informatie op de volgende fouten:

Conclusie

Foutkenmerken in Python worden gegenereerd bij het verwijzen naar een ongeldig kenmerk. Om deze fouten op te lossen, moet u eerst controleren of het kenmerk dat u aanroept, bestaat. Zorg er vervolgens voor dat het kenmerk gerelateerd is aan het object of gegevenstype waarmee u werkt.

Als het gewenste kenmerk is gekoppeld aan een ingebouwd type en niet bestaat, moet u naar een alternatief zoeken . Er zijn alternatieven voor veel bestaande attributen voor het ene datatype die op een ander datatype kunnen worden gebruikt. Er is bijvoorbeeld geen methode extend () met sets, maar u kunt union () gebruiken om sets samen te voegen.

Om leer meer over het schrijven van Python-code, lees onze Python-leergids .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method