- 개발 환경 설정
파이썬 인터프리터 및 PyCharm 설치
- IPO 프로그래밍 방식
입력(Input), 처리(Process), 출력(Output): 입력 → 처리 → 출력
- 기본 출력 함수 print
(1) 콘솔 출력: print(출력 내용)
출력 내용은 숫자, 변수 값, 연산 결과, 문자열(따옴표로 묶어야 함, 단일/이중/삼중 따옴표 모두 가능), ASCII 코드에 해당하는 문자(print(chr(number)) 등이 될 수 있습니다.
print를 한 번 호출할 때마다 자동으로 줄바꿈이 됩니다. 줄바꿈을 원하지 않는 경우 하나의 print 문에 내용을 쉼표로 구분하여 작성하면 출력 결과 사이에 공간이 생깁니다: print(내용1, 내용2)
(2) 파일 출력: print(출력 내용, 파일)
file_pointer = open('출력_파일', 'w') # 파일 열기
print("안녕, 파이썬!", file=file_pointer) # 안녕, 파이썬!을 출력_파일에 작성
file_pointer.close() # 파일 닫기
(3) 복잡한 출력 작업
print의 구문 구조: print(값,...,sep=' ',end='\n',file=None)
예: 여러 print가 줄바꿈되지 않게 하기, 더하기 연산자를 사용해 두 문자열을 연결
print('안녕', end='->') # end를 수정하여 줄바꿈 대신 ->를 출력
print('파이썬!')
print('안녕'+'파이썬') # 문자열만 연결 가능, 다른 타입은 오류 발생
- 기본 입력 함수 input input('안내 문구')
사용자이름 = input('이름을 입력하세요:')
print('입력된 이름:' + 사용자이름) # 주의! 더하기 연산자는 print 내에서 두 문자열만 연결 가능
# 여기서 오류가 발생하지 않는다는 것은 input이 입력을 받을 때 모든 데이터를 문자열로 처리한다는 것을 의미합니다
- 파이썬에서의 주석 (1) 단일 행 주석
주석 내용
(주의! #과 내용 사이에 공백이 있어야 합니다. 또한 코드 뒤에 주석을 달 경우, # 앞에 두 칸의 공백이 있어야 합니다)
(2) 다중 행 주석
"""내용"""
내용을 삼중 따옴표 안에 넣으면 됩니다
(3) 한글 문서 선언 주석
coding=utf-8
utf-8일 필요는 없으며, 다른 유형도 가능합니다. 이는 파이썬 파일의 인코딩 형식을 결정합니다
-
코드 들여쓰기 코드의 논리를 제어하며, 각 문장 시작 부분의 공백 영역을 의미합니다. 파이썬 프로그램 간의 포함 관계를 나타냅니다. 일반적인 코드는 들여쓰기가 필요하지 않지만, 클래스 정의, 함수 정의, 흐름 제어 문, 예외 처리 문의 경우, 행 끝의 콜론과 다음 행의 들여쓰기가 코드 블록의 시작을 나타냅니다. 들여쓰기가 끝나면 해당 코드 블록이 끝났음을 의미합니다. 보통 4개의 공백을 하나의 들여쓰기 양으로 사용합니다
-
예약어 및 식별자 (1) 예약어: 파이썬에서 특정 의미를 부여받은 단어들로, 개발 시 변수, 함수, 클래스, 모듈 및 다른 객체의 이름으로 사용할 수 없습니다. 35개가 있습니다: ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']. 예약어는 대소문자를 엄격히 구분합니다
(2) 식별자: 변수, 함수, 클래스, 모듈 및 다른 객체에 이름을 지정합니다. 명명 규칙: a. 영문, 한글, 밑줄("_") 및 숫자를 사용할 수 있으며, 첫 번째 문자는 숫자일 수 없습니다; b. 예약어를 사용할 수 없습니다; c. 식별자는 대소문자를 엄격히 구분합니다; d. 밑줄로 시작하는 식별자는 특별한 의미를 가지므로 유사한 식별자는 피하는 것이 좋습니다; d. 한글을 식별자로 사용할 수 있지만 권장되지 않습니다
- 변수와 상수 (1) 변수
변수명 = 값
변수의 타입은 변할 수 있으며, 어떤 타입의 값을 할당하면 그 타입이 됩니다
규칙: a. 유효한 식별어여야 합니다; b. 예약어를 사용할 수 없습니다; c. 변수명은 설명적이어야 합니다
(2) 상수
파이썬에는 상수를 정의하기 위한 전용 키워드가 없으며, 일반적으로 모두 대문자와 밑줄을 사용하고 값을 수정하지 않습니다
- 수치 타입 (1) 정수 타입
소수 부분이 없는 수치를 나타내며, 양의 정수, 음의 정수, 0을 포함합니다. 불변 데이터 타입에 속합니다
(2) 부동소수점 타입
소수점을 포함하는 수치로, 정수 + 소수로 구성됩니다. 불변 데이터 타입에 속합니다
주의: a. 두 부동소수점 데이터를 연산할 때, 결과에 일부 불확실한 유효숫자가 추가될 수 있습니다; b. 복소수(x+yj(j는 수학의 i와 유사))는 수학과 동일하게 실수부 + 허수부로 구성되며, 실수부는 .real, 허수부는 .imag로 접근합니다
(3) 문자열 타입
연속된 문자 시퀀스로, 컴퓨터가 인식할 수 있는 모든 문자를 나타낼 수 있습니다. 구분자: 단일 따옴표, 이중 따옴표, 삼중 따옴표
| 이스케이프 문자 | 설명 |
|---|---|
| \n | 줄 바꿈 문자 |
| \t | 수평 탭, 다음 탭 위치로 이동 |
| " | 이중 따옴표 |
| ' | 단일 따옴표 |
| \ | 하나의 역슬래시 |
원시 문자열: r 또는 R, 이스케이프 문자를 무효화하는 문자열
문자열은 순차적인 문자 시퀀스로도 알려져 있으며, 문자열의 특정 문자에 대한 검색을 인덱싱이라고 합니다
정방향은 0부터 증가하고, 역방향은 -1부터 감소합니다
문자열의 특정 부분 문자열이나 구간에 대한 검색을 슬라이싱이라고 합니다
슬라이싱 구문 구조: 문자열 또는 문자열 변수명[N:M] (N부터 시작해 M까지이지만 M은 포함하지 않음, N과 M은 양수 또는 음수 가능). 특히: [N:]은 N부터 마지막 문자까지; [:M]은 첫 번째 문자부터 M까지이지만 M은 포함하지 않음
일반적인 문자열 연산
| 연산자 | 설명 |
|---|---|
| x+y | 문자열 x와 y를 연결 |
| xn 또는 nx | 문자열 x를 n번 복제 |
| x in s | x가 s의 부분 문자열이면 True, 그렇지 않으면 False |
(4) 불리언 타입
"참" 또는 "거짓" 값을 나타내는 데이터 타입으로, 불리언 값은 True 또는 False로 표시됩니다. True는 정수 1을, False는 정수 0을 나타냅니다
False 값인 경우: a. False 또는 None; b. 수치 0, 0, 0.0, 허수 0; c. 빈 시퀀스, 빈 문자열, 빈 튜플, 빈 리스트, 빈 딕셔너리, 빈 세트; d. 사용자 정의 객체 인스턴스로서, 해당 객체의 bool()가 False를 반환하거나 len() 메서드가 0을 반환하는 경우
(5) 데이터 타입 변환
| 함수 | 설명 |
|---|---|
| int(x) | x를 정수 타입으로 변환 |
| float(x) | x를 부동소수점 타입으로 변환 |
| str(x) | x를 문자열로 변환 |
| chr(x) | 정수 x를 문자로 변환 |
| ord(x) | 문자 x를 해당 정수 값으로 변환 |
| hex(x) | 정수 x를 16진수 문자열로 변환 |
| oct(x) | 정수 x를 8진수 문자열로 변환 |
| bin(x) | 정수 x를 2진수 문자열로 변환 |
- eval 함수 변수 = eval(문자열)
파이썬 내장 함수로, 문자열의 가장 바깥쪽 따옴표를 제거하고 제거된 문자열을 파이썬 문장 방식으로 실행합니다. eval() 함수는 종종 input() 함수와 함께 사용되어 사용자 입력 데이터를 가져옵니다
- 연산자 (1) 산술 연산자
예: +, -, *, /, //(정수 나눗셈), %, **(거듭제곱)
우선순위: ** → *, /, %, // → +, -
(2) 할당 연산자
| 연산자 | 설명 |
|---|---|
| = | 간단한 할당 연산 |
| += | 더하기 할당 |
| -= | 빼기 할당 |
| *= | 곱하기 할당 |
| /= | 나누기 할당 |
| %= | 나머지 할당 |
| **= | 거듭제곱 할당 |
| //= | 정수 나눗셈 할당 |
파이썬은 체인 할당을 지원합니다: a=b=c=100; 시리얼 언팩 할당도 지원합니다: x,y=10,20(즉, x=10 y=20)
특히: 시리얼 언팩 할당을 사용하여 두 변수의 값을 교환: x,y=y,x
(3) 비교 연산자
예: >, <, ==, !=, >=, <=
(4) 논리 연산자
예: and, or, not
(5) 비트 연산자
숫자를 이진수로 취급하여 계산합니다
비트 AND 연산(&), 비트 OR 연산(|), 비트 XOR 연산(^)(이진수로 변환 후, 두 수를 정렬하여 같은 위치면 0, 다르면 1), 비트 NOT 연산(~)
(6) 비트 이동 연산자
"왼쪽 이동" 연산(<<)은 이진수를 지정된 비트 수만큼 왼쪽으로 이동시키며, 왼쪽으로 벗어난 비트는 버려지고 오른쪽 빈 자리는 0으로 채워집니다
"오른쪽 이동" 연산(>>)은 이진수를 지정된 비트 수만큼 오른쪽으로 이동시키며, 오른쪽으로 벗어난 비트는 버려집니다. 가장 높은 비트가 0이면 왼쪽에 0을, 1이면 1을 채웁니다
규칙에 따라 요약하면: 왼쪽은 곱셈, 오른쪽은 나눗셈(예: x<>y는 x/(2^y)와 같음)
(7) 연산자 우선순위
| 연산자 | 설명 |
|---|---|
| ** | 거듭제곱 |
| ~, +, - | 비트 NOT, 양수, 음수 |
| *, /, %, // | 산술 연산자 |
| +, - | 산술 연산자 |
| <<, >> | 비트 이동 연산자 |
| & | 비트 AND |
| ^ | 비트 XOR |
| <, <=, >, >=, !=, == | 비교 연산자 |
| = | 할당 연산자 |