Metoden dir () försöker returnera en lista med giltiga attribut för objektet.
Syntaksen för dir()
är:
dir ((objekt))
dir () Parametrar
dir()
tar maximalt ett objekt.
- objekt (valfritt) -
dir()
försöker returnera alla attribut för detta objekt.
Returvärde från dir ()
dir()
försöker returnera en lista med giltiga attribut för objektet.
- Om objektet har
__dir__()
metod kommer metoden att anropas och måste returnera listan med attribut. - Om objektet inte har någon
__dir__()
metod försöker den här metoden att hitta information från__dict__
attributet (om det definieras) och från typobjektet. I det här falletdir()
kanske listan som returneras kanske inte är fullständig.
Om ett objekt inte skickas till dir()
metoden returnerar det namnlistan i det aktuella lokala omfånget.
Exempel 1: Hur fungerar dir ()?
number = (1, 2, 3) print(dir(number)) print('Return Value from empty dir()') print(dir())
Produktion
('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__' __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ',' __n__ , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear' kopiera ',' räkna ',' förläng ',' index ','insert ',' pop ',' remove ',' reverse ',' sort ') Returvärde från tom dir () (' __annotations__ ',' __builtins__ ',' __doc__ ',' __loader__ ',' __name__ ',' __package__ ' , '__spec__', 'nummer')
Exempel 2: dir () på användardefinierat objekt
class Person: def __dir__(self): return ('age', 'name', 'salary') teacher = Person() print(dir(teacher))
Produktion
('ålder', 'namn', 'lön')