#200223
핵심
self인자 x인 method -> class method, 클래스호출o, 객체호출x
self인자 o인 method -> instance method, 객체호출o
------

원인
function1()의 argument로 self가 없어서 생긴 빨간줄.
즉 ()안에 첫 argument로 self가 명시되지 않아 생긴 문제이다
클래스에 만들어넣는 대부분의 함수들은 객체들에 적용하기 위한 함수들
그러한 함수들의 경우 [반드시] 첫 argument로 self가 명시되어야 한다
일반적으로 그렇기에
클래스의 함수에 변수가 존재하지 않자, 해당 문제에 대해 알리는 것이다.
그러나 해당 함수의 생성 목적 == "클래스의 호출함수로 사용하기 위해"
-라면 해당 밑줄을 무시해도 무방하다
해결방법
if 클래스의 호출함수 -> (끝. 빨간줄 떠도 무시하기)
if 객체의 호출함수 ->클래스 함수에 변수를 부여하기
------
self인자 x
=> 누구의 메소드(함수)인지를 알 수 없다.
이러한 메소드는 클래스에서 호출해야. 객체 호출 x
클래스에서 사용할 수 있는 공통함수
self인자 o
=> [누구의 메소드인지 알 수 有] + [instance 생성 -> 각각의 *namespace에 접근가능o]
객체 호출o
*namespace: 해당 class 규칙에 따라 생성된, name들과의 매핑을 포함하고 있는 공간
**변수 안가진다고 출력이 안되는 건 아니다
다만 이렇게 빨간줄이 뜰 뿐.**

'Python + Web' 카테고리의 다른 글
| 결과값 외 불필요한 터미널 내용 지우기 (0) | 2020.03.01 |
|---|---|
| 파이썬(python) + vs code - 1. 개발 환경 설정 (0) | 2020.03.01 |
| vscode linter pylint is not installed 오류 (0) | 2020.02.06 |