bigseoul
10
2022-08-06 23:21:26
1
75

VScode에서 파이썬 '자동완성' 사용...클래스 간 메서드 자동완성 가능할까?


=C#코드=

=파이썬 코드=




질문은, 파이썬에서도 다른 클래스에 있는 메서드 이름을

'자동완성' 기능으로 지원 받을 수 있는 방법이 있을까입니다.


C#이나 자바 모두 다른 클래스의 메서드를 자동완성 기능으로 타이핑 가능하더라구요.

다만 파이썬은 다른 클래스의 메서드를 자동완성 기능으로 타이핑 안되더라구요.

그래서 해당 클래스에 가서 메서드 이름이 뭔지 알아내야 해서 불편합니다.


일단, 이것이 왜 안될까 하는 의문을 가졌고.....


자바나 C#은 넘겨받을 객체 타입과 그에 대한 변수를 선언하기 때문에

[예: MyObject( int a, YourObject b )]

다른 클래스 내부에서도 해당 객체 타입의 내부 메서드를 자동완성 기능으로 타이핑 할 수 있는 것 같습니다.


파이썬의 경우는, 넘겨받을 객체 타입을 명시하지 않고 변수만 선언하기 때문에

[예: MyObject( a, b )]

다른 클래스 내부에서 해당 객체 타입 안에 있는 메서드를 자동완성 기능으로 타이핑 할 수 없는 것 같습니다.


이는 파이썬이 '동적타입' 언어(실행시간에 해당 객체 타입이 정해지는)이기 때문에 나타나는 특징(사이드이팩트?)으로 생각합니다.


다만 파이썬에서 제가 쓸 객체 타입을 클래스 내부에 'From yourObject import YourObject'처럼 명시합니다.


그러면 에디터가 알아서 확인해줬으면 좋겠는데... 그럼 방법이 있을지 궁금합니다.

(웬지, 계속 실행되어 있어야 하는 문제...가 발생할듯 한데 ㅋ)


=========

제가 프로그래밍 종사자가 아니라 취미로 하다보니, 'VScode'의 기능,

'정적타입과 동적타입'에 대한 이해가 부족해 당연한 것을 질문할 수 있음을 양해부탁드립니다.

파이랜스와 인텔리전스는 설치해놓고 쓰고 있습니다.


조영호님이 쓰신 오브젝트(JAVA기준)를 공부하고 있어요. 개인적으로 OOP에 관심이 많습니다.

다만 이 책에는 실행을 위한 Runner가 없습니다.

어떤 분이 JAVA코드를 C#으로 실행가능한 프로그램을 만드셨더라구요.


그래서 이를 바탕으로 파이썬으로 변환하는 작업을 해보고 있습니다.

(파이썬으로 만들고 싶은게 있어서, 메인언어로 공부 중입니다.)


정적타입과 동적타입은 정말 코딩 스타일을 다르게 해야하더라구요.

이거 꽤나 머리 아프네요.





0
  • 답변 1

  • bigseoul
    10
    2022-08-08 10:05:29

    자문자답합니다.


    Type Hint를 쓰면됩니다. 

  • 로그인을 하시면 답변을 등록할 수 있습니다.