파이썬은 다양한 분야에서 사용되는 프로그래밍 언어로, 웹 개발, 크롤링, 데이터 분석 등에 널리 사용됩니다. 이는 학습 곡선이 낮고 다양한 용도로 활용될 수 있기 때문입니다. 이번 내용에서는 기본적인 데이터 타입 중 정수와 부동소수점 숫자를 다룹니다.
목차
- 문자열
- 불리언 타입
- 정수
- 부동소수점
- 숫자
- 리스트
- 튜플
- 딕셔너리
- 날짜
1. 문자열
1.1 파이썬에서 문자열 사용하기
a. 단일 따옴표(') 사용:
txt='이것은 문자열';
print(txt);
b. 이중 따옴표(") 사용:
txt="이것은 문자열";
print(txt);
c. 삼중 따옴표(''' 또는 """) 사용:
txt='''이것은 문자열
이것은 파이썬 문자열
이것은 문자열'''
print(txt);
2. 불리언 타입
flag=False;
print(flag);
flag=True;
print(flag);
3. 정수
num=20;
print(num);
4. 부동소수점
fnum=2.3;
print(fnum);
5. 숫자
정수와 부동소수점을 포함합니다.
5.1 숫자 객체 참조 삭제 예시:
x=1;
y=2;
z=3;
del x;
del y, z;
# print(x); # x 변수 삭제 후 호출하면 오류 발생
5.2 숫자 형 변환:
int(x [,base]) - x를 정수로 변환
float(x) - x를 부동소수점으로 변환
complex(real [,imag]) - 복소수 생성
str(x) - 객체 x를 문자열로 변환
repr(x) - 객체 x를 표현식 문자열로 변환
tuple(s) - 시퀀스 s를 튜플로 변환
list(s) - 시퀀스 s를 리스트로 변환
chr(x) - 정수를 문자로 변환
ord(x) - 문자를 정수로 변환
hex(x) - 정수를 16진수 문자열로 변환
oct(x) - 정수를 8진수 문자열로 변환
5.3 수학 함수 math.abs()
abs(x) - 숫자의 절대값 반환
math.ceil(x) - 숫자의 올림 값 반환
math.floor(x) - 숫자의 내림 값 반환
max(x1, x2,...) - 주어진 매개변수의 최대값 반환
min(x1, x2,...) - 주어진 매개변수의 최소값 반환
pow(x, y) - x**y 연산 결과 반환
round(x [,n]) - 소수점 n자리까지 반올림한 값 반환
math.sqrt(x) - 숫자 x의 제곱근 반환
6. 리스트
6.1 리스트 초기화 예시:
items=['물리', '화학', 1997, 2000];
nums=[1, 3, 5, 7, 8, 13, 20];
6.2 리스트 값 접근 예시:
print("nums[0]:", nums[0])
print("nums[2:5]:", nums[2:5])
print("nums[1:]:", nums[1:])
print("nums[:-3]:", nums[:-3])
print("nums[:]:", nums[:])
6.3 리스트 업데이트 예시:
nums[0]="새값";
print(nums[0]);
6.4 리스트 요소 삭제:
del nums[0];
print("nums[:]:", nums[:]);
6.5 리스트 스크립트 연산자:
print(len([1, 2, 3]));
print([1, 2, 3] + [4, 5, 6]);
print(['안녕!'] * 4);
print(3 in [1, 2, 3])
for x in [1, 2, 3]: print(x, )
6.6 리스트 자르기:
L=['spam', 'Spam', 'SPAM!'];
print(L[2]);
print(L[-2]);
print(L[1:]);
6.7 리스트 함수 & 메서드:
lst.append(obj) - 리스트 맨 뒤에 새 객체 추가
lst.count(obj) - 특정 요소의 개수 반환
lst.extend(seq) - 리스트 맨 뒤에 다른 시퀀스의 요소 추가
lst.index(obj) - 특정 요소의 첫 번째 인덱스 반환
lst.insert(index, obj) - 지정된 위치에 객체 삽입
lst.pop() - 마지막 요소 제거 및 반환
lst.remove(obj) - 특정 요소 제거
lst.reverse() - 리스트 순서 역전
lst.sort() - 리스트 정렬
7. 튜플 (Tuple)
튜플은 리스트와 유사하지만 수정할 수 없습니다. 튜플은 소괄호()로, 리스트는 대괄호[]로 표시됩니다.
tup1 = ('물리', '화학', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
7.1 튜플 접근:
tup1 = ('물리', '화학', 1997, 2000);
print("tup1[0]: ", tup1[0])
print("tup1[1:3]: ", tup1[1:3])
7.2 튜플 수정:
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
tup3 = tup1 + tup2;
print(tup3);
7.3 튜플 삭제:
tup = ('물리', '화학', 1997, 2000);
del tup;
7.4 튜플 연산자:
L = ('spam', 'Spam', 'SPAM!');
print(L[2]);
print(L[-2]);
print(L[1:]);
7.5 튜플 내장 함수:
cmp(tuple1, tuple2) - 두 튜플 비교
len(tuple) - 튜플 길이 반환
max(tuple) - 튜플 내 최대값 반환
min(tuple) - 튜플 내 최소값 반환
tuple(seq) - 시퀀스를 튜플로 변환
8. 딕셔너리
8.1 딕셔너리 소개:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
8.2 딕셔너리 값 접근:
dict = {'name': 'Zara', 'age': 7, 'class': 'First'};
print("dict['name']: ", dict['name']);
print("dict['age']: ", dict['age']);
8.3 딕셔너리 수정:
dict["age"]=27;
dict["school"]="wutong";
print("dict['age']: ", dict['age']);
print("dict['school']: ", dict['school']);
8.4 딕셔너리 삭제:
del dict['name'];
dict.clear();
del dict;
8.5 딕셔너리 내장 함수 & 메서드:
cmp(dict1, dict2) - 두 딕셔너리 비교
len(dict) - 딕셔너리 항목 수 반환
str(dict) - 딕셔너리 문자열 표현 반환
type(variable) - 입력 변수의 타입 반환
dict.clear() - 딕셔너리 모든 항목 삭제
dict.copy() - 딕셔너리 얕은 복사 반환
dict.fromkeys() - 시퀀스로부터 새로운 딕셔너리 생성
dict.get(key, default=None) - 지정된 키의 값을 반환
dict.items() - 키-값 쌍 배열 반환
dict.keys() - 모든 키 배열 반환
dict.update(dict2) - dict2의 키-값 쌍을 dict에 업데이트
dict.values() - 모든 값 배열 반환
숫자 타입 심화
파이썬의 숫자 타입은 길이가 고정되지 않아 매우 큰 데이터를 표현할 수 있습니다.
import decimal
val = decimal.Decimal('123456789')
print(val ** 8)
정수의 사칙연산 및 나머지 연산
print(2 + 6)
print(2 - 6)
print(2 * 6)
print(2 / 6)
print(2 % 6)
부동소수점 덧셈
print(0.55 + 0.3)
Decimal 모듈을 이용한 정확한 수학 연산
import decimal
fmt='{0:<25}{1:<25}'
print(fmt.format('Input','Output'))
print(fmt.format('-'*25,'-'*25))
print(fmt.format(5,decimal.Decimal(5)))
print(fmt.format('3.14',decimal.Decimal('3.14')))
f=0.1
print(fmt.format(repr(f),decimal.Decimal(str(f))))
print(fmt.format('%.23g' %f, str(decimal.Decimal.from_float(f))[:25]))