파이썬의 클래스기본 개념:클래스는 데이터와 기능을 함께 묶는 방법새 클래스 생성은 새로운 객체 타입 생성클래스 인스턴스는 자신만의 속성을 가질 수 있음파이썬 클래스의 특징:최소한의 새로운 문법으로 구현다중 상속 지원메서드 오버라이딩 가능모든 표준 객체 지향 프로그래밍 기능 제공파이썬 클래스의 특별한 점:대부분의 멤버가 public모든 메서드가 virtual (C++ 용어로)내장 타입도 상속 가능연산자 오버로딩 지원동적 생성 및 수정 가능객체와 이름의 관계 (Aliasing):여러 이름이 같은 객체를 참조할 수 있음가변 객체에서 중요한 개념함수에 객체 전달 시 효율적 (포인터와 유사)주요 특징:클래스 자체도 객체임포팅과 이름 변경 지원내장 연산자들을 클래스 인스턴스에 대해 재정의 가능파이썬 스코프와 이름 ..
에러와 예외파이썬의 에러와 예외1. 문법 에러 (SyntaxError)파싱 에러라고도 불림파이썬 코드의 구문이 올바르지 않을 때 발생while True print('Hello world')# SyntaxError: invalid syntaxSyntaxError: invalid syntax`특징:에러가 발생한 위치를 화살표(^)로 표시파일 이름과 줄 번호 제공2. 예외 (Exceptions)문법적으로 올바르지만 실행 중에 발생하는 에러항상 치명적이지는 않음 (처리 가능)주요 예외 유형:ZeroDivisionError10 * (1/0)# ZeroDivisionError: division by zeroNameError4 + spam*3# NameError: name 'spam' is not definedTyp..
장식적인 출력 포매팅파이썬에서 출력을 포맷하는 여러 방법을 소개합니다:1. f-문자열 (포맷 문자열 리터럴)문자열 앞에 f 또는 F를 붙임중괄호 {} 안에 변수나 표현식 삽입year = 2016event = 'Referendum'print(f'Results of the {year} {event}')2. str.format() 메서드중괄호 {} 안에 포맷 지정자 사용.format() 메서드로 값 전달yes_votes = 42_572_654percentage = 0.4967print('{:-9} YES votes {:2.2%}'.format(yes_votes, percentage))3. 수동 문자열 처리문자열 슬라이싱, 연결 등을 사용문자열 메서드 활용 (예: ljust(), rjust(), center(..
모듈모듈은 파이썬 프로그래밍에서 코드를 구조화하고 재사용하는 중요한 방법입니다. 다음은 모듈에 대한 주요 내용입니다:모듈의 정의모듈은 파이썬 정의와 문장들을 담고 있는 파일입니다.파일 이름은 모듈 이름에 .py 확장자를 붙입니다.사용방법 예시# Fibonacci numbers moduledef fib(n): # write Fibonacci series up to n a, b = 0, 1 while a 모듈 사용모듈 임포트import fibo모듈 내 함수 사용fibo.fib(1000)fibo.fib2(100)모듈 이름 확인print(fibo.__name__)함수를 지역 이름으로 대입fib = fibo.fibfib(500)모듈 더 보기모듈의 추가 특성실행 가능한 문장:모듈은 함수 정의뿐만 아..
자료 구조리스트 더 보기list.append(x)리스트의 끝에 항목을 더합니다. a[len(a):] = [x] 와 동등합니다.list.extend(iterable)리스트의 끝에 이터러블의 모든 항목을 덧붙여서 확장합니다. a[len(a):] = iterable 와 동등합니다.list.insert(i, x)주어진 위치에 항목을 삽입합니다. 첫 번째 인자는 삽입되는 요소가 갖게 될 인덱스입니다. 그래서 a.insert(0, x) 는 리스트의 처음에 삽입하고, a.insert(len(a), x) 는 a.append(x) 와 동등합니다.list.remove(x)리스트에서 값이 x 와 같은 첫 번째 항목을 삭제합니다. 그런 항목이 없으면 ValueError를 일으킵니다.list.pop([i])목록에서 지정된 위치..
ifif x for루프의 else 절은 break가 발생하지 않을 때 실행for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, 'equals', x, '*', n//x) break else: # loop fell through without finding a factor print(n, 'is a prime number')결과2 is a prime number3 is a prime number4 equals 2 * 25 is a prime number6 equals 2 * 37 is a prime number8 equals 2 * 49 equals 3 * 3pass 문pas..