1. 자료형의 종류
자료형 (데이터 타입, data type)
- 단일 값을 저장하는 타입으로 정수형, 실수형, 부울형, 문자열이 있으며, 여러 개의 값을 저장하는 타입에는 리스트, 튜플, 딕셔너리, 세트 등이 있다.
- 파이썬에서는 변수의 자료형을 선언할 필요가 없으며, 변수에 값을 저장하는 순간 값에 따라 자료형이 결정된다.
2. 숫자형
숫자형 데이터는 소수점 여부에 따라 크게 정수(integer)형과 실수(floating-point)형으로 나눌 수 있다.
① 정수 (integer) : 소수점이 없는 숫자 (예) 0, 56, 145, -98
② 실수 (floating-point, 부동 소수점) : 소수점이 있는 숫자 (예) 67.234, 4.0, -3.4, 3.125e2, 2.6E3
'부동 소수점'이란 실수 67.234를 0.67234 × 10²와 같이 소수점의 위치를 바꿔도 결국 같은 숫자이므로
'소수점이 움직이는 숫자' 라는 의미
③ 복소수 (complex number) : 실수와 허수의 합으로 이루어진 수 (예) a+bj (a: 실수부, b: 허수부)
정수의 표현
- 정수형에는 10진수 뿐만 아니라 16진수, 8진수, 2진수도 사용할 수 있다.
- 10진수 : 0~9까지 수로 표현 (예) 234, -56
- 16진수 : 0~9, A, B, C, D, E, F로 표현 (예) 0x162, 0x2F, 0XAF
- 8진수 : 0~7까지 수로 표현 (예) 0o15, 0o30, 0O10
- 2진수 : 0, 1로 표현 (예) 0b1101, 0B101
진수 변환 함수
① bin( ) : 10진수를 2진수 값으로 변환하는 함수 (예) bin(13)
② oct( ) : 10진수를 8진수 값으로 변환하는 함수 (예) oct(29)
③ hex( ) : 10진수를 16진수 값으로 변환하는 함수 (예) hex(32)
복소수
- 수학에서의 복소수 표현 : a + bi 형식으로 실수 부분(a)와 허수 부분(b)을 표시
- 파이썬에서는 i 대신에 j를 사용한다. ( 소문자 j를 써도 되고 대문자 J를 써도 상관 없다. )
- 복소수 관련 내장 함수를 사용하려면 복소수 변수명 뒤에 '.' 을 붙인 다음 함수를 사용한다.
- 복소수.real : 복소수의 실수(real number) 부분을 리턴
- 복소수.imag : 복소수의 허수(imaginary number) 부분을 리턴
- 복소수.conjugate( ) : 복소수의 켤레 복소수 (공액 복소수, conjugate complex number)를 리턴
- 복소수 (A = 1 + 2i)일 때, 공액 복소수 (A* = 1 - 2i) 이다.
- abs(복소수) : 복소수의 절대값을 리턴
- 1+2j 의 절대값은 √ 1² + 2² 이다.
3. 부울형 ( 논리형 )
부울(boolean)형
- 참(True) 이나 거짓(False)만 지정할 수 있는 자료형으로 논리형 이라고도 한다.
- True, False의 값을 저장할 수 있으며, 비교의 결과를 참이나 거짓으로 저장하는데 사용되기도 한다.
4. 문자열
문자열(string)형
- 문자열 타입은 데이터가 여러 문자로 구성되어 있다.
- 문자열은 다른 문자열과도 연결할 수 있으며, 데이터에 포함된 문자열의 길이를 확인할 수 있다.
- 파이썬에서 문자열 상수를 표현하려면 문자열을 작은따옴표(') 또는 큰따옴표(")로 감싸준다.
※ C나 Java 언어에서는 문자형(char)으로 한 글자를 저장할 경우 작은따옴표를 사용하고,
여러 글자를 저장하는 문자열형(string)의 경우에는 큰따옴표를 사용한다.
작은따옴표나 큰따옴표를 함께 사용하는 경우
- 작은따옴표가 문자열 중간에 나타나는 경우 큰따옴표로 문자열 전체를 감싸면 된다.
- 큰따옴표를 문자열 중간에 포함하고 싶다면 작은 따옴표로 문자열 전체를 감싼다.
여러 줄의 문자열 정의하는 방법
- 작은따옴표 3개(''') 또는 큰따옴표 3개(""") 를 연속해서 문자열의 시작과 끝에 붙이면 여러 줄의 문자열을 정의할 수 있다.
- 문자열 중간에 줄바꿈 기호인 '\n'을 포함 시켜서 여러 줄을 정의할 수 있다.
연산자 '+' 로 문자열 연결하기
- 연산자 '+'는 산술 덧셈을 의미하는 연산자로 사용하기도 하지만, 문자열과 문자열의 결합을 의미하는 결합 연산자로도 사용된다.
연산자 '*' 로 문자열 연결하기
- 연산자 '*'는 산술 곱셈을 의미하는 연산자로 사용하기도 하지만, 문자열을 여러 번 연결하는 연산자로 사용되기도 한다.
문자열 길이 반환 함수 : len( )
- 문자열의 길이를 반환하는 함수 : len( )
- 영문자의 length를 의미하며, 빈 칸도 하나의 문자로 취급한다.
5. 데이터 타입 확인과 변경
데이터 타입을 확인하는 함수 : type( )
- 파이썬은 변수의 자료형을 명시하지 않기 때문에 변수가 어떤 타입인지 확인하는 방법은 매우 중요하다.
- 자신이 작성한 소스코드에서 변수의 타입을 확인하기 위해 자주 사용되는 함수이다.
다른 데이터 타입의 연산
- 100 + '200' 같이 정수 타입(int)과 문자열 타입(str)의 피연산자 사이에는 '+' 연산자를 사용할 수 없다.
데이터 타입 바꾸기 : 문자열 → 숫자
- int( )는 정수로 변환하는 함수
데이터 타입 바꾸기 : 숫자 → 문자열
- str( )는 문자열로 변환하는 함수
6. 키보드로 데이터 입력받기
input( ) 함수
- print( ) 함수는 표준출력장치(모니터)에 값을 출력하는 함수이다.
- input( ) 함수는 표준입력장치(키보드)로 부터 값을 입력 받을 때 사용하는 함수이다.
- 사용자가 입력한 값을 문자열로 반환한다.
name = input("이름을 입력하세요 : ")
정수 값을 입력 받는 예시
num1 = input("첫번째 숫자를 입력하세요 : ")
num2 = input("두번째 숫자를 입력하세요 : ")
print('두 숫자의 합은', num1 + num2, '입니다.')
위 프로그램에서 num1 = 100, num2 = 200을 입력하면 두 수의 합이 300이 출력되지 않고 100200이 출력된다.
이는 사용자가 100을 입력하면 input( ) 함수는 문자열 "100"으로 입력 받기 때문이다.
따라서 "100" + "200" 의 결과인 "100200"이 출력된 것이다.
즉, 덧셈이 아닌 두 문자열의 연결(결합)이 연산된 것이다.
num1 = int(input("첫번째 숫자를 입력하세요 : ")
num2 = int(input("두번째 숫자를 입력하세요 : ")
print('두 숫자의 합은', num1 + num2, '입니다.')
문자열을 정수로 변환하는 int( ) 함수를 사용하여 위 문제를 해결해 보았다.
7. 연산
연산자와 피연산자
- 연산의 대상이 되는 값을 피연산자(operand)라 하고, 연산 기호를 연산자(operator)라 한다.
연산자의 종류
- 산술 연산자 (Arithmetic Operator) : 수치 계산에 대한 산술적 연산 처리
- 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나누기(몫)(//), 나머지(%), 제곱(**) 등
- 관계 연산자 (Relational Operator) : 두 자료에 대한 대소관계를 비교하는 연산자 (결과는 True/False 반환)
- 크다(>), 크거나 같다(>=), 작다(<), 작거나 같다(<=), 같다(==), 같지 않다(!=) 등
- 논리 연산자 (Logical Operator) : 진리 값에 따라 참(True), 거짓(False)의 논리적 연산 처리
- 논리부정(not), 논리곱(and), 논리합(or) 등
- 비트 연산자 (Bitwise Operator) : 2진수로 변환한 후 각 자리의 비트끼리 연산을 수행
- 비트부정(~), 비트논리곱(&), 비트논리합(|), 비트배타적논리합(^), 시프트왼쪽(<<), 시프트오른쪽(>>) 등
- 산술 연산자 (Arithmetic Operators)
산술 연산자 | 기능 | 사용 예시 | 설명 |
= | 배정(할당)연산자 | a = 20 | 정수 20을 변수 a에 저장 |
+ | 더하기 | a = 20 + 3 | 20과 3을 더한 값을 변수 a에 저장 |
- | 빼기 | a = 20 - 3 | 20에서 3을 뺀 값을 변수 a에 저장 |
* | 곱하기 | a = 20 * 3 | 20과 3을 곱한 값을 변수 a에 저장 |
/ | 나누기 | a = 20 / 3 | 20을 3으로 나눈 값을 변수 a에 저장 |
// | 나누기(몫) | a = 20 // 3 | 20을 3으로 나눈 값의 정수 값을 변수 a에 저장 |
% | 나머지 | a = 20 % 3 | 20을 3으로 나누었을 때 나머지 값을 변수 a에 저장 |
** | 제곱 | a = 20 ** 3 | 20의 3제곱의 값을 변수 a에 저장 |
소수점 자릿수 반올림 함수 : round( )
- 나눗셈 연산 결과의 소수점을 반올림하여 특정 자리까지 표기하고 싶다면, 파이썬의 내장 함수인 'round( )' 함수를 사용한다.
a = 123 / 13
print(a)
9.461538461538462
round(a, 2)
print(a)
9.46
round(a, 3)
print(a)
9.462
# 첫 번째 인수에는 반올림 대상 숫자 타입의 데이터 또는 변수
# 두 번째 인수에는 표기하고 싶은 소수점 자릿수를 표기
비교 연산자 (Relational Operator, 관계 연산자)
- 비교 연산자(관계 연산자)는 숫자 타입의 데이터 크기를 비교하는 연산자
- 연산 결과로 True 또는 False 값이 반환된다.
- 주로 if문이나 while문 등 조건식을 표시할 때 사용한다.
비교 연산자 | 사용 예시 | 기능 |
< | a < b | a가 b보다 작다. |
<= | a <= b | a가 b보다 작거나 같다. |
> | a > b | a가 b보다 크다. |
>= | a >= b | a가 b보다 크거나 같다. |
== | a == b | a와 b는 같다. |
!= | a != b | a와 b는 다르다. |
논리 연산자 (Logical Operator)
- 조건이 여러 개인 경우에 사용된다.
- (예) TOEIC 점수가 800점 이상이며 평점평균이 3.5이상인 자 : (TOEIC 점수 >= 800) and (평점평균 >= 3.5)
- not(논리부정), and(논리곱), or(논리합) 3개의 논리 연산자가 있다.
논리 연산자의 진리표 (Truth Table)
A | B | not A | A and B | A or B |
True | True | False | True | True |
True | Fasle | False | False | True |
False | True | True | False | True |
False | Fasle | True | False | False |
'Data Analysis > Python' 카테고리의 다른 글
[Python] 기초 파이썬 - 반복문 (1) | 2024.02.25 |
---|---|
[Python] 기초 파이썬 - 조건 제어문 (1) | 2024.02.25 |