이전 페이지 다음 페이지 각 키는 콜론(:)으로 값과 구분되고, 항목들은 쉼표로 구분되며, 전체는 중괄호로 감싸집니다. 항목이 없는 빈 딕셔너리는 두 중괄호로 작성합니다: {}. 키는 딕셔너리 내에서 고유해야 하지만 값은 중복될 수 있습니다. 딕셔너리의 값은 어떤 타입이든 될 수 있지만, 키는 문자열, 숫자, 튜플 같은 불변 데이터 타입이어야 합니다. 딕셔너리 값 접근 딕셔너리 요소에 접근하려면 익숙한 대괄호와 키를 사용하여 값을 얻으세요. 간단한 예제는 다음과 같습니다. Live Demo #!/usr/bin/pyth
이전 페이지 다음 페이지 튜플(tuple)은 순서가 있고 불변(immutable)인 객체 컬렉션입니다. 튜플은 리스트처럼 시퀀스입니다. 튜플과 리스트의 차이점은 튜플은 리스트와 달리 변경할 수 없고, 튜플은 괄호를 사용하는 반면 리스트는 대괄호를 사용한다는 것입니다. 튜플 생성은 다른 쉼표로 구분된 값을 넣는 것만큼 간단합니다. 선택적으로 이 값들을 괄호로 감쌀 수도 있습니다. 예를 들어: tup1 = (physics, chemistry, 1997, 2000); tup2 = (1, 2, 3, 4, 5); tup3 = a
이전 페이지 다음 페이지 파이썬에서 가장 기본적인 데이터 구조는 시퀀스(sequence)입니다. 시퀀스의 각 요소에는 번호(위치 또는 인덱스)가 할당됩니다. 첫 번째 인덱스는 0, 두 번째는 1, 이런 식입니다. 파이썬에는 6가지 내장 시퀀스 타입이 있지만, 가장 흔한 것은 리스트와 튜플입니다. 모든 시퀀스 타입으로 할 수 있는 작업들이 있습니다. 인덱싱, 슬라이싱, 추가, 곱셈, 멤버십 검사 등이 포함됩니다. 또한 파이썬에는 시퀀스 길이 찾기, 최대/최소 요소 찾기 위한 내장 함수가 있습니다. 파이썬 리스트 리스트는
이전 페이지 다음 페이지 문자열은 파이썬에서 가장 인기 있는 타입 중 하나입니다. 문자를 따옴표로 감싸는 것만으로 쉽게 생성할 수 있습니다. 파이썬은 단일 따옴표와 이중 따옴표를 동일하게 취급합니다. 문자열 생성은 변수에 값을 할당하는 것만큼 간단합니다. 예를 들어: var1 = Hello World! var2 = Python Programming 문자열 값 접근 파이썬은 문자 타입을 지원하지 않으며, 이들은 길이 1의 문자열로 취급되어 부분 문자열로도 간주됩니다. 부분 문자열에 접근하려면 인덱스나 인덱스들과 함께 대괄
이전 페이지 다음 페이지 숫자 데이터 타입은 숫자 값을 저장합니다. 이들은 불변(immutable) 데이터 타입으로, 숫자 데이터 타입의 값을 변경하면 새롭게 할당된 객체가 생성됩니다. 숫자 객체는 값을 할당할 때 생성됩니다. 예를 들어: var1 = 1 var2 = 10 del 문을 사용하여 숫자 객체에 대한 참조를 삭제할 수도 있습니다. del 문의 구문은 다음과 같습니다. del var1[,var2[,var3[....,varN]]]] del 문을 사용하여 단일 객체나 여러 객체를 삭제할 수 있습니다. 예를 들어:
이전 페이지 다음 페이지 일반적으로 문장은 순차적으로 실행됩니다: 함수의 첫 번째 문장이 먼저 실행되고, 그다음 두 번째, 이런 식으로 진행됩니다. 어떤 코드 블록을 여러 번 실행해야 하는 상황이 있을 수 있습니다. 프로그래밍 언어는 더 복잡한 실행 경로를 허용하는 다양한 제어 구조를 제공합니다. 루프 문은 문장이나 문장 그룹을 여러 번 실행할 수 있게 합니다. 다음 다이어그램은 루프 문을 보여줍니다. 파이썬 프로그래밍 언어는 루핑 요구 사항을 처리하기 위해 다음 유형의 루프를 제공합니다. 번호루프 유형 및 설명 1
이전 페이지 다음 페이지 의사 결정(Decision making)은 프로그램 실행 중 발생할 조건을 예상하고 조건에 따라 취할 행동을 지정하는 것입니다. 결정 구조는 TRUE 또는 FALSE를 결과로 내는 여러 표현식을 평가합니다. 결과가 TRUE 또는 FALSE일 때 어떤 행동을 취하고 어떤 문장을 실행할지 결정해야 합니다. 대부분의 프로그래밍 언어에서 볼 수 있는 일반적인 의사 결정 구조의 형태는 다음과 같습니다. 파이썬 프로그래밍 언어는 0이 아니고 null이 아닌 값을 TRUE로 간주하며, 0이거나 null이면
이전 페이지 다음 페이지 연산자는 피연산자의 값을 조작하는 구조입니다. 표현식 4 + 5 = 9를 고려해 보세요. 여기서 4와 5를 피연산자(operand)라고 하고 +를 연산자(operator)라고 합니다. 연산자 유형 파이썬 언어는 다음 유형의 연산자를 지원합니다. 산술 연산자(Arithmetic Operators) 비교(관계) 연산자(Comparison/Relational Operators) 할당 연산자(Assignment Operators) 논리 연산자(Logical Operators) 비트와이즈 연산자(Bit
이전 페이지 다음 페이지 변수는 값을 저장하기 위한 예약된 메모리 위치에 불과합니다. 즉, 변수를 생성하면 메모리에 일정한 공간을 예약하게 됩니다. 변수의 데이터 타입에 따라 인터프리터는 메모리를 할당하고 예약된 메모리에 무엇을 저장할지 결정합니다. 따라서 변수에 다른 데이터 타입을 할당하여 정수, 소수, 문자를 이 변수들에 저장할 수 있습니다. 변수에 값 할당 파이썬 변수는 메모리 공간을 예약하기 위해 명시적 선언이 필요하지 않습니다. 변수에 값을 할당할 때 자동으로 선언됩니다. 등호(=)는 변수에 값을 할당하는 데
이전 페이지 다음 페이지 파이썬 언어는 펄(Perl), C, 자바(Java)와 많은 유사점이 있습니다. 그러나 언어 간에 분명한 차이점도 있습니다. 첫 번째 파이썬 프로그램 프로그래밍의 다양한 모드에서 프로그램을 실행해 보겠습니다. 인터랙티브 모드 프로그래밍 스크립트 파일을 매개 변수로 전달하지 않고 인터프리터를 호출하면 다음 프롬프트가 나타납니다. $ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on lin
이전 페이지 다음 페이지 파이썬은 리눅스(Linux), 맥 OS X(Mac OS X)를 포함한 다양한 플랫폼에서 사용할 수 있습니다. 파이썬 환경을 설정하는 방법을 알아보겠습니다. 로컬 환경 설정 터미널 창을 열고 python을 입력하여 이미 설치되어 있는지, 어떤 버전이 설치되어 있는지 확인하세요. 유닉스(Unix: Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX 등) Win 9x/NT/2000 매킨토시(Macintosh: Intel, PPC, 68K) OS/2 DOS(여러 버
이전 페이지 다음 페이지 파이썬은 고수준, 인터프리터 방식, 인터랙티브, 객체지향 스크립팅 언어입니다. 파이썬은 높은 가독성을 위해 설계되었습니다. 다른 언어가 구두점을 사용하는 곳에서 영어 키워드를 자주 사용하며, 다른 언어보다 구문 구성이 적습니다. 파이썬은 인터프리터 언어입니다 - 파이썬은 인터프리터에 의해 런타임에 처리됩니다. 프로그램을 실행하기 전에 컴파일할 필요가 없습니다. 이는 PERL, PHP와 유사합니다. 파이썬은 인터랙티브합니다 - 파이썬 프롬프트에서 직접 인터프리터와 상호작용하며 프로그램을 작성할
파이썬 2는 2020년 1월 1일부로 공식 지원이 종료되었습니다. 여전히 파이썬 2.7을 사용 중이라면 즉시 업그레이드해야 합니다. 현재 실행 중인 버전이 확실하지 않다면 python --version으로 확인하세요. 왜 지금 당장 옮겨야 하는가? 보안 패치 중단: 취약점 발견 시 어떤 수정도 제공되지 않음 패키지 생태계 단절: 주요 라이브러리(NumPy, pandas, Django, Requests 등)가 파이썬 2 지원 중단 신규 기능 불가: 타입 힌트, f-string, async/await, 데이터클래스 등 현
사용자가 호환되지 않는 파이썬 버전으로 스크립트를 실행하는 것을 방지하려면 진입점에서 버전 체크를 추가하세요. sys.version_info는 메이저, 마이너, 마이크로 버전을 튜플로 제공하므로 비교가 직관적입니다. 버전 체크 패턴 = (3, 5): sys.exit(이 스크립트는 파이썬 3.5 이상이 필요합니다. (타입 힌트, async/await 등 사용)) # 정상 실행 print(f실행 중인 파이썬 버전: {sys.version}) 튜플 비교의 장점 (3, 4) → True (자연스러운 버전 비교) 문
IPython은 파이썬의 기본 REPL(Read-Eval-Print Loop)을 대폭 강화한 대화형 쉘이며, 주피터 노트북(Jupyter Notebook)의 핵심 엔진입니다. 주피터는 코드, 수식, 시각화, 설명 문서를 한 문서에 담아 공유할 수 있는 오픈소스 웹 애플리케이션입니다. 파이썬 대화형 쉘을 자주 사용한다면 IPython은 필수 도구입니다. 목차 IPython 핵심 기능 마법 명령어(Magic Commands) 이전 입출력 참조 IPython 설치 IPython 핵심 기능
파이썬에서 객체의 메모리 사용량을 확인해야 할 때 sys.getsizeof() 함수가 가장 직관적인 도구입니다. 하지만 이 함수의 동작 방식을 정확히 이해하지 못하면 의외의 결과에 당황할 수 있습니다. 기본 사용법 import sys mylist = range(0, 10000) print(sys.getsizeof(mylist)) # 48 왜 10,000개 요소가 고작 48바이트일까? range() 함수는 실제 숫자 리스트를 메모리에 생성하지 않습니다. 대신 시작값, 끝값, 스텝만 저장하는 이터러블 객체를 반환하므로 메모리
파이썬으로 한 번에 여러 값 반환 가능. 당연히 파이썬 대부분 함수는 단일 값 반환, 보통 그 함수 작업 결과. 이 글에서 여러 값 반환도 가능함 배우고, 딕셔너리·리스트·데이터 클래스 필요 없음. 목차 튜플로 여러 값 반환 파이썬에서 여러 값 반환 대안 방법 계속 학습 튜플로 여러 값 반환 필요한 건 return 문 뒤 값들 콤마로 구분해 나열하는 것. 여러 값 반환하고 여러 변수에 한 번에 할당하는 예: def get_user(id): # 데이터베이스에서 사용자 조회 # .... return
파이썬 데이터 클래스는 @dataclass 데코레이터 가진 일반 파이썬 클래스. 데이터 보유 목적으로 특별히 생성. 파이썬 3.7부터 dataclass 내장 모듈로 데이터 클래스 제공. 일반 파이썬 클래스 대비 여러 이점, 이 글에서 탐구. 예제 코드와 데이터 클래스로 수행하고픈 흔한 연산 두어 가지도 살펴봄. 목차 데이터 클래스 사용 이점 데이터 클래스 예제 기본값 데이터 클래스를 JSON으로 변환 계속 학습 데이터 클래스 사용 이점 왜 일반 파이썬 클래스 대신 데이터 클래스 써야 할까? 먼저 파이썬 데이터 클래스 제
이 깔끔한 트릭으로 임시 변수 없이 파이썬 두 변수 값 교환 가능: a = 1 b = 2 a, b = b, a print(a) # 2 print(b) # 1 단 한 줄 코드! 3번째 줄 보듯 파이썬에서 변수 스왑에 임시 변수 필요 없음.
이 트릭으로 파이썬 문자열 빠르게 제목 케이스 변환 가능. 위키피디아 기사 인용: 제목 케이스는 오프라인·온라인 인쇄 모두 자주 사용. 이 사이트 자체도 모든 기사 제목 케이스 사용. 자세히 보면 대부분 웹사이트, 신문, 잡지 사실 제목 케이스 씀. 파이썬에서 제목 케이스 문자열 빠르게 만들려면 내장 title() 메서드 쓰면 됨: >>> title = string in title case >>> title.title() String In Title Case 불행히 이건 잘 작동 안 함:
python