보호되어 있는 글입니다.
17강. 연산자 오버로딩연산자 오버로딩 특징operator키워드가 fun앞에 붙음함수의 이름과 파라미터가 정해져있음예시 - Pointdata class Point ( val x: Int, val y: Int) { fun zeroPointSymmetry() = Point(-x, -y)}fun main() { val point = Point(20, -10) println(point.zeroPointSymmetry())}zeroPointSymmetry() 메서드를 통해 점대칭을 구하고 있음하지만, 연산자 오버로딩을 통해 좀더 간단히 사용 가능unaryMinus(): 단항 마이더스 연산자data class Point ( val x: Int, val y: Int) { o..
파이썬의 클래스기본 개념:클래스는 데이터와 기능을 함께 묶는 방법새 클래스 생성은 새로운 객체 타입 생성클래스 인스턴스는 자신만의 속성을 가질 수 있음파이썬 클래스의 특징:최소한의 새로운 문법으로 구현다중 상속 지원메서드 오버라이딩 가능모든 표준 객체 지향 프로그래밍 기능 제공파이썬 클래스의 특별한 점:대부분의 멤버가 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)모듈 더 보기모듈의 추가 특성실행 가능한 문장:모듈은 함수 정의뿐만 아..