파이썬 디렉토리()

ItsMyCode |
dir() 메소드는 모든 객체의 모든 유효한 속성 및 메소드 목록을 반환하는 Python의 내장 함수입니다. (함수, 사전, 목록, 문자열, 튜플 등)

dir() 구문


dir() 메서드의 구문은 다음과 같습니다.

**dir([object])**


dir() 매개변수


dir() 메서드는 하나의 인수만 개체로 사용합니다.
  • **객체(선택 사항) – **유효한 속성을 보려는 객체입니다.

  • dir() 반환 값


    dir() 메소드는 주어진 객체에 대한 유효한 속성 목록을 반환합니다.
    dir() 함수는 개체 유형에 따라 다르게 동작합니다. 완전한 정보가 아닌 관련 정보를 반환하는 것을 목표로 합니다.

  • 클래스 개체의 경우 – 유효한 속성의 모든 이름과 클래스 개체의 기본 속성을 반환합니다.
  • F 또는 모듈 또는 라이브러리 - 해당 모듈에 있는 모든 속성의 이름 목록을 반환하려고 시도합니다.
  • dir() 메서드에 전달된 매개 변수가 없으면 현재 로컬 범위에 있는 이름 목록을 반환합니다.

  • 예제 1: dir()은 어떻게 작동합니까?



    아래 예제는 목록 객체의 모든 유효한 속성을 제공합니다.

    # dir() method for list
    lst_numbers = [1, 2, 3, 4, 5]
    print(dir(lst_numbers))
    
    


    산출

    [' __add__', ' __class__', ' __class_getitem__', ' __contains__', ' __delattr__',
     ' __delitem__', ' __dir__', ' __doc__', ' __eq__', ' __format__', ' __ge__', 
    ' __getattribute__', ' __getitem__', ' __gt__', ' __hash__', ' __iadd__', ' __imul__', 
    ' __init__', ' __init_subclass__', ' __iter__', ' __le__', ' __len__', ' __lt__', 
    ' __mul__', ' __ne__', ' __new__', ' __reduce__', ' __reduce_ex__', ' __repr__', 
    ' __reversed__', ' __rmul__', ' __setattr__', ' __setitem__', ' __sizeof__', ' __str__',
     ' __subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 
    'insert', 'pop', 'remove', 'reverse', 'sort']
    


    예 2: 외부 라이브러리를 가져오거나 가져오지 않고 dir() 메서드에 매개변수가 전달되지 않은 경우.


    dir() 메서드에 매개 변수가 전달되지 않으면 현재 로컬 범위에 있는 이름 목록을 반환합니다.
  • 첫 번째 경우 모듈을 가져오지 않았고 dir() 메소드가 기본 이름을 반환합니다.
  • 두 번째 경우에는 두 개의 모듈(random 및 math)을 가져왔고 dir() 메서드는 로컬 네임스페이스에 추가될 때 이러한 모듈 이름을 반환합니다.

  • 
    # Python3 code to demonstrate dir()
    # when no parameters are passed to dir()
    
    # Note that we have not imported any modules
    print(dir())
    
    # when modules are imported
    import random
    import math
    
    # in this case dir() returns the module names added to the localnamespace
    print(dir())
    


    산출

    [' __annotations__', ' __builtins__', ' __cached__', ' __doc__', ' __file__',
     ' __loader__', ' __name__', ' __package__', ' __spec__']
    
    [' __annotations__', ' __builtins__', ' __cached__', ' __doc__', ' __file__',
     ' __loader__', ' __name__', ' __package__', ' __spec__', 'math', 'random']
    


    예 3: 모듈 객체가 매개변수로 전달될 때?




    
    # Python3 code to demonstrate dir()
    # when module objects are passed to dir()
    
    import random
    import math
    
    print(dir(random))
    print(dir(math))
    


    산출

    ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST',
     'SystemRandom', 'TWOPI', '_Sequence', '_Set', ' __all__', ' __builtins__',
     ' __cached__', ' __doc__', ' __file__', ' __loader__', ' __name__', ' __package__',
     ' __spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp',
     '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin',
     '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate',
     'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits',
     'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes',
     'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle',
     'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
    
    [' __doc__', ' __loader__', ' __name__', ' __package__', ' __spec__', 'acos', 'acosh',
     'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos',
     'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs',
     'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf',
     'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma',
     'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow',
     'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau',
     'trunc', 'ulp']
    


    예제 4: 사용자 정의 객체에 대한 dir()




    
    # Python3 code to demonstrate dir()
    # on user defined object
    
    class Employee:
        # Function __dir()___ which list all
        # the base attributes to be used.
      def __dir__ (self):
        return ['Id', 'FirstName', 'LastName', 'Salary','JoiningDate']
    
    # user-defined object of class Employee
    emp = Employee()
    
    # listing out the dir() method for the userdefined object
    print(dir(emp))
    


    산출

    ['FirstName', 'Id', 'JoiningDate', 'LastName', 'Salary']
    


    결론


    dir() 함수는 주로 응용 프로그램 디버깅에 도움이 됩니다. 대규모 프로젝트의 경우 많은 클래스와 함수를 개별적으로 처리할 때 개발자에게 정말 유용하며 dir() 전달된 객체의 모든 특성을 나열합니다.

    게시물 Python dir()ItsMyCode에 처음 나타났습니다.

    좋은 웹페이지 즐겨찾기