Hoe implementeer ik __getattribute__ zonder een oneindige recursiefout?

| |

Ik wil de toegang tot één variabele in een klasse overschrijven, maar alle andere normaal teruggeven. Hoe doe ik dit met __getattribute__?

Ik heb het volgende geprobeerd (wat ook zou moeten illustreren wat ik probeer te doen), maar ik krijg een recursiefout:

class D(object): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=="test": return 0. else: return self.__dict__[name] >>> print D().test 0.0 >>> print D().test2 ... RuntimeError: maximale recursiediepte overschreden in cmp 

We hopen dat dit artikel u heeft geholpen om het probleem op te lossen. Bekijk naast Hoe implementeer ik __getattribute__ zonder een oneindige recursiefout? ook andere __dict__-gerelateerde onderwerpen.

Wilt u uitblinken in Python? Bekijk onze recensie van de  beste online Python-cursussen 2022. Als je geïnteresseerd bent in Data Science, bekijk dan ook hoe je programmeert in R.

Trouwens, dit materiaal is ook beschikbaar in andere talen:



Frank Williams

Milan | 2022-11-28

Simpel gezegd en duidelijk. Bedankt voor het delen. Hoe implementeer ik __getattribute__ zonder een oneindige recursiefout? en andere zaken met StackOverflow was altijd mijn zwakke punt 😁. Ik weet alleen niet zeker of dit de beste methode is

Boris OConnell

Tallinn | 2022-11-28

Bedankt voor de uitleg! Ik zat vast met Hoe implementeer ik __getattribute__ zonder een oneindige recursiefout? voor enkele uren, eindelijk heb ik het voor elkaar 🤗. Ik weet alleen niet zeker of dit de beste methode is

Xu Jackson

Prague | 2022-11-28

Simpel gezegd en duidelijk. Bedankt voor het delen. Hoe implementeer ik __getattribute__ zonder een oneindige recursiefout? en andere zaken met StackOverflow was altijd mijn zwakke punt 😁. Zal het gebruiken in mijn bachelorscriptie

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

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically