개발 관련 지식/소소한 지식

파이썬의 소소한 지식 (call by object reference, Typehints, docstring, flak8, black)

#fdd4ff 2023. 10. 17. 16:40

      Call by Object 

      파이썬 함수 호출 방식 - Call by Object Reference
      - 객체의 주소가 함수로 전달되는 방식
      - 전달된 객체를 참조하여 변경 시 호출자에게 영향 But 새로운 객체를 만들면 영향을 받진 않음

      def a(b):
      	b. append(1)
      	b = [2,3]
      x = [0]
      a(x)
      print(x) # [0,1]

       

      Type hints

      - 사용자에게 인터페이스를 명확히 알 수 있게 해준다.

      def insert(self, index:int, module: Module) -> None:
      # index의 타입이 int구나,, return은 없구나 ,, 이렇게 알 수 있음

       

      Docstring

      - 파이썬 함수에 대한 상세스펙을 사전에 작성 
      - (''') 형태로 docstring영역 표시 (함수명 아래)
      - vscode에서 docstring을 쉽게 쓸 수 있는 extension이 있음 (ctl + shift + p -> docstring 작성) 

      사진처럼 사용 가능

       

      black 모듈

      - (예전) flake8 모듈로 코드가 잘 작성되어있는지 확인 가능

      conda install flake8 
      flake8 (코드 파일 명)

      - 실행하면 잘 돌아가는 경우 내용이 안 뜨고, 문제가 있는 경우 어디가 문제인지 알려준다.

      하지만 최근은 black 모듈을 사용한다. 

      conda install black
      black (코드파일 명)

       

      이는  flak8 모듈과 다르게 알아서 코드를 고쳐준다.

       

      (+)
      Java와 Python의 차이점
      - Java는 타입이 미리 선언이 되어야하는데 파이썬은 Dynamic typing이 가능하다.

      '개발 관련 지식 > 소소한 지식' 카테고리의 다른 글

      Naming에 대해서  (0) 2021.10.05