Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Anonieme klassen en objecten verkennen in Python

De ingebouwde functie type() van Python retourneert de klasse waartoe een object behoort. In Python zijn een klasse, zowel een ingebouwde klasse als een door de gebruiker gedefinieerde klasse, objecten van het type klasse.

Voorbeeld

class myclass:
 def __init__(self):
 self.myvar=10
 return
 
obj = myclass()
print ('class of int', type(int))
print ('class of list', type(list))
print ('class of dict', type(dict))
print ('class of myclass', type(myclass))
print ('class of obj', type(obj))

Het zal de volgende uitvoer produceren −

class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>

Het type() heeft een versie met drie argumenten:−

Syntaxis

newclass=type(name, bases, dict)

Met behulp van bovenstaande syntaxis kan een klasse dynamisch worden gemaakt. Drie argumenten van het type functie zijn −

  • naam − naam van de klasse die __name__ attribuut van de nieuwe klasse

    wordt
  • bases - tupel bestaande uit bovenliggende klassen. Kan leeg zijn als het geen afgeleide klasse is

  • dict − woordenboek dat de naamruimte vormt van de nieuwe klasse die attributen en methoden en hun waarden bevat.

Maak een anonieme klas

We kunnen een anonieme klasse maken met de bovenstaande versie van de functie type(). Het naamargument is een nulreeks, het tweede argument is een tupel van één klasse de objectklasse (merk op dat elke klasse in Python wordt geërfd van de objectklasse). We voegen bepaalde instantievariabelen toe als het derde argumentwoordenboek. We houden het voorlopig leeg.

anon=type('', (object, ), {})

Maak een anoniem object

Om een object van deze anonieme klasse te maken −

obj = anon()
print ("type of obj:", type(obj))

Het resultaat laat zien dat het object van een anonieme klasse is

type of obj: <class '__main__.'>

Anoniem klasse- en objectvoorbeeld

We kunnen ook instantievariabelen en instantiemethoden dynamisch toevoegen. Kijk eens naar dit voorbeeld −

def getA(self):
 return self.a
obj = type('',(object,),{'a':5,'b':6,'c':7,'getA':getA,'getB':lambda self : self.b})()
print (obj.getA(), obj.getB())

Het zal de volgende uitvoer produceren −

5 6

Python

  1. Python - Overzicht
  2. Python Attrs:geavanceerde gegevensklassen, met voorbeeldcode
  3. Python if... else-instructie
  4. Python String strip() Functie met VOORBEELD
  5. Python - Basissyntaxis
  6. Python-pakket
  7. Python-functies
  8. Python-sluitingen
  9. Controleer uw Python-versie op Linux, macOS en Windows:een korte handleiding
  10. De Zen van Python (PEP-20 paasei)
  11. Python - Bestanden I/O