본문 바로가기

[Language] - Python21

#2. 접근제한자 (Access Modifier) 오늘은 파이썬의 접근제한자에 대해 다뤄보겠다. 파이썬을 사용하며 익숙해질때쯔음.. 무언가 이상한 점을 느꼈다. 왜 파이썬에서는 public, protected, private이라는 키워드를 본적이 없지? 궁금해진 필자는 쏜살같이 구글링을 하며 찾은 내용들을 여기다가 정리한다. 일단 결론부터 얘기하면 파이썬에 접근제한자에 대한 키워드는 없다. 그럼 어떡함? 이라는 의문이 들것이다. 정답은 명명규칙에 있었다. 멤버(함수, 변수)명 앞에 _를 한 번 쓰면 protected 멤버(함수, 변수)명 앞에 _를 두 번 쓰면 private 주의할 점은 멤버명 뒤에 _를 두 번 쓰면 다시 public이 된다. public member, member__, _member__, __member__ protected _memb.. 2020. 12. 14.
#1. staticmethod, classmethod, instancemethod 이번에는 파이썬의 메소드 3종류를 알아보겠다. @staticmethod, @classmethod 데코레이터를 메소드위에 작성하면 해당 메소드는 정적메소드로 분류된다. 데코레이터를 사용하지 않으면 instancemethod에 해당된다. 정적메소드는 인스턴스를 생성하지 않아도(않아야)호출이 가능하다. 반대로 인스턴스메소드는 인스턴스 생성이 필수이다. 자세한 내용은 코드를 보면서 이해하겠다. 1. @staticmethod class A: num = 10 @staticmethod def plus(x): return x + A.num plus() 메소드의 return 값을 확인해보면 해당 메소드는 자신의 멤버(속성 및 메소드)를 참조할 방법이 없기 때문에 직접 클래스명(A.num)을 명시하여 num이라는 속성을 .. 2020. 12. 9.
#0. args, kwargs 해당 카테고리에는 파이썬의 기초문법(반복문, 조건문, 변수, 클래스 등..)을 숙지하고 있다는 전재하에 작성한다. 파이썬 개발을 하면서 몰랐던 키워드나 개념등을 위주로 작성할 예정이다.. 개발을 하다보면 어떤 클래스의 정의를 찾아갈 때 Pycharm기준으로 Ctrl + B 단축키를 사용하면 된다. 메소드의 정의를 찾아간다고 가정할 때, 종종 *args 나 **kwargs 키워드를 본적이 있을 것이다. 필자는 무아지경상태에 빠졌다. 무아지경은 무지를 아무렇지 않게 받아들이는 경지를 의미한다. 그 경지를 넘어서고자 이 키워드들을 이해하기 위해 공부를 하고 이해한 내용을 포스트에 정성스레 적는다. 일단 args와 kwargs의 뜻부터 알아보자. args : arguments (복수형) 즉, 가변(여러개가 올 .. 2020. 12. 9.