Python introspeksjon Funksjoner

Python introspeksjon Funksjoner


Som et programmeringsspråk Python bærer et objektorientert paradigme. I Python, alt er et objekt. Dette betyr at alt fungerer som et objekt, inkludert hvor relevant data er lagret i objektet. Python bruker begrepet introspeksjon for å evaluere kode basert på denne objektorientert paradigme. For å oppmuntre introspeksjon, Python inneholder også en rekke metoder som utfører introspektive kommandoer på objekter, retur data, slik at det kan vurderes om manipulerte.

introspeksjon

Introspeksjon i Python er evnen til koden for å vurdere annen kode eller gjenstander for å bestemme attributter om hva de er og hva de gjør. Fordi Python har introspektiv funksjonalitet innebygd i språket, kan programmerere skrive kode som evaluerer seg selv (eller deler av seg selv) under kjøring av kode. Siden koden kan selv vurdere under kjøring, kan programmereren designe kode de reagerer på og manipulerer kode basert på varierende egenskaper, slik at større fleksibilitet i koden.

Typen Method

Den "type ()" metoden tar som argument en variabel, og returnerer en streng som beskriver den variable datatype. De fleste innebygde typer i Python språket er beskriver som en datatype, og bruker den type metode vil returnere den typen. For eksempel,

x = 1

y = 'c'

z [ 'a', 'b']

type (x)

<Type 'int'>

type (y)

<Type 'str'>

type (z)

<Type "list">

Ved bruk av den type funksjon, variabel "X" vil komme tilbake som et heltall, "y" som en streng, og "z" som en liste.

Dir () Metode

Når gitt et objekt, vil "dir ()" metoden returnere en liste over alle tilgjengelige metoder for å denne metoden. For eksempel,

c = [ 'a', 'b']

dir (c)

vil returnere en lang liste over tilgjengelige metoder til listen klassen (inkludert pop (), føyer (), og sett ()). Selv en brukerdefinert klasse vil vise sine interne metoder:

klasse eksempel:

. . . def ex (selv):

. . . self.x = 1

x = eksempel ()

dir (x)

( 'Doc', 'init', 'modul', 'ex')

Den "isinstance ()" og "issubclass ()" Methods

Den "insinstance ()" metoden fungerer ved å sjekke en variabel mot en datatype, og returnere en sann eller falsk verdi basert på den sammenligningen. For eksempel:

x = 1

isinstance (x, int)

1

isinstance (x, str)

0

"X" betegner det hele tall 1. Den første eksemplet viser en sann verdi (1) fordi x er et helt tall. Det andre eksemplet returnerer en falsk verdi (0) fordi x er ikke en streng.

Tilsvarende "issubclass ()" returnerer true eller false basert på hvorvidt en klasse stammer fra en annen klasse. For eksempel, hvis en programmerer definerer klasse "Ball" for å utlede fra klassen "sfære":

klasse Ball (Sphere):

deretter et kall til issubclass vil returnere true, som dette:

x = Ball ()

issubclass (x, Sphere)

1