반응형
반응형
// 연산자 정수의 몫을 구하는 연산자 나머지는 버림 % 연산자 나머지를 구하는 연산자 몫은 버림 /연산자 사용 예시 10을 3으로 나누기 # 보통의 나누기 연산 10/3 >>> 3.3333333333 # 몫 구하기 연산 10//3 >>> 3 # 나머지 구하기 연신 10%3 >>> 1 정수의 자릿수 추출 정수의 자리수 추출하기 // 연산자 : 일의 자리부터 차례로 제거 intNum = 1234 # 전체 숫자 구하기 intNum // 1 >>> 1234 # 일의 자리 빼기 intNum // 10 >>> 123 # 십의 자리까지 빼기 intNum // 100 >>> 12 # 백의 자리까지 빼기 intNum // 1000 >>> 1 % 연산자 : 일의 자리부터 차례로 출력 intNum = 1234 # 일의 자..
Error Inconsistent use of tabs and spaces in indentationPylance 이 에러는 들여쓰기에서 탭과 스페이스를 혼용하여 사용하였을 때 발생하는 에러이다. 상식적으로 들여쓰기를 스페이스로 하지 않을테니, 주로 원인은 인터넷에서 퍼온 소스 코드에서 발생한다. 해결 방법 에러가 난 부분을 지우고 탭으로 들여쓰기를 다시 시도한다. 그래도 에러가 사라지지 않을 경우, 해당 부분을 새로 직접 작성하는게 마음이 편하다. 나같은 경우에는 탭을 해도 에러가 사라지지 않아서 첫 줄을 직접 새로 입력하니 문제가 해결되었다.
예외 처리 프로그래밍 언어의 오류 구문 오류 (Syntax Error) 프로그램 싱행 전에 발생하는 오류 논리적 오류(Logical Error) 혹은 런타임 오류(Runtime Error) 프로그램 실행 중에 발생하는 오류 문법적으로 틀린 것이 없으므로 즉시 인식되지 않지만 의도치 않은 결과의 가능성 존재 예외 제어 (try, except 구문) 예외가 발생 할 수 있는 상황을 예상하여 예외 제어 예외가 발생할 수 있는 코드를 try에 넣어서 활용(가독성, 유지보수 향상) 예) 자료형 에러 관련, DB연동 에러 관련 등등 try : (예외 발생 가능한) 일반적인 수행문들 except : 예외가 발생하였을 때 수행문들, 예외를 그냥 넘어가고 싶을때는 pass 키워드 사용 else를 붙여 예외가 발생하지 않..
상속 사전적 의미 - 뒤를 이음 컴퓨터에서의 의미 - 클래스의 속성과 메소드를 부모가 자식에게 물려주는 것 부모(슈퍼) 클래스는 자신의 속성, 메소드들을 자식(서브) 클래스에게 전달 할 수 있음 상속을 하게 되면 코드를 재사용 할 수 있는 장점이 있음 메소드의 오버라이딩 가능 상속받을 자식 클래스는 부모 클래스의 속성과 메소드를 사용 자식 클래스의 이름 공간에 부모 클래스의 이름공간이 포함 class 부모 클래스: 내용 class 자식 클래스(부모 클래스) : 내용 상속의 이유 코드 재사용 상속받은 자식 클래스는 부모 클래스의 모든 기능을 그대로 사용 가능 자식 클래스는 필요한 기능만 정의하거나 기존의 기능을 변경(Overriding)할 수 있음 메소드 오버라이딩 (Method Overriding) 사전..
오버로딩(Overloading) 사전적 - 과적하다, 과부하가 걸리게 하다 컴퓨터에서의 의미 - "메소드의 중복 정의", 즉 같은 이름의 메소드를 사용하는 것 오버로딩의 예시 - 하나의 노래 검색 함수를 두가지로 활용. 노래검색(제목/가수) -> 제목이나 가수로 노래 검색 파이썬에서의 오버로딩 파이썬에서 같은 이름의 메소드를 사용하면 늦게 정의한 메소드로 기능 재정의 (덮어쓰기) class A: def func(self,a): return "hello" def func(self): return "world" a = A() # 클래스 객체 생성 print(a.func()) >>> world print(a.func(1)) >>> TypeError: func() takes 1 positional argumen..
클래스 변수 클래스 이름 공간에 생성, 모든 인스턴스에 공유 인스턴스 변수 인스턴스 이름 공간에 생성, 인스턴스마다 독립 class Var : c_mem = 100 # 클래스 변수 (= 클래스 멤버) def f(self): self.i_mem = 200 v1 = Var() # 인스턴스 변수1 (= 인스턴스 멤버) v2 = Var() # 인스턴스 변수2 (= 인스턴스 멤버) print(Var.c_mem, v1.c_mem, v2.c_mem) >>> 100 100 100 # 클래스 변수의 값은 모든 인스턴스에 공유 v1.c_mem = 50 print(Var.c_mem, v1.c_mem, v2.c_mem) >>> 100 50 100 # 인스턴스 변수의 값은 인스턴스마다 독립적 v1.f() print(v1.i_m..