파이썬 데이터 타입 심화

파이썬은 다양한 분야에서 사용되는 프로그래밍 언어로, 웹 개발, 크롤링, 데이터 분석 등에 널리 사용됩니다. 이는 학습 곡선이 낮고 다양한 용도로 활용될 수 있기 때문입니다. 이번 내용에서는 기본적인 데이터 타입 중 정수와 부동소수점 숫자를 다룹니다.

목차

  1. 문자열
  2. 불리언 타입
  3. 정수
  4. 부동소수점
  5. 숫자
  6. 리스트
  7. 튜플
  8. 딕셔너리
  9. 날짜

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]))

태그: python 데이터타입 문자열 리스트 튜플

9월 12일 15:48에 게시됨