컴퓨터는 원래 숫자를 전하기 위해 만들어진 기계지만 오늘 날에는 숫자 뿐만 아니라 문자, 이미지, 동영상 등 다양한 정보를 처리할 수 있게 되었다.
컴퓨터 프로그래밍에서는 '문자'와 '문자열'이라는 개념이 있다.
문자 (character) = '파이썬' 이라는 단어는 '파', '이', '썬' 이라는 문자의 조합이다.
문자열 (string) = 문자가 2개 이상 연속된 경우 👉 '파', '이', '썬' 이라는 문자의 조합
컴퓨터에서는 문자열의 시작점과 끝지점에 따옴표 (' or ")를 찍어 구분하게 한다.
컴퓨터의 모든 데이터는 이진 데이터 (Binary data)이기 때문에 입력된 문자열을 변환해주는 작업이 필요하다.
- 인코딩: 컴퓨터가 이해할 수 있도록 0과 1로 변환하는 것 (=코드화 = 암호화 = 부호화)
- 디코딩: 사람이 이해할 수 있도록 바꿔주는 것
이렇게 문자열 인코딩 표준에는 2가지가 있다.
1. 아스키 코드 (ASCII, American Standard Code for Information Interchange)
- 알파벳 52자 (A ~ z)
- 숫자 10자 (0 ~ 9)
- 특수기호 66자 (!, @ 등)
2. 유니코드 (UNICODE)
- 비영어권 문자 규약
- 언어에 상관없이 모든 문자를 16비트로 표현
문자열을 코드로 변화는 걸 파이썬으로 실습해보자.
ord() : 문자 > 숫자(정수)로 변환
# ord() : 문자 > 숫자(정수)로 변환
print(ord('A'))
print(ord('!'))
print(ord('가'))
bin() : 이진수로 변환
# bin() : 이진수로 변환
print(bin(65))
print(bin(ord('파')))
chr() : 숫자(정수) > 문자로 변환
# chr() : 숫자(정수) > 문자로 변환
print(chr(65))
print(chr(66))
print(chr(97))
print(chr(44032))
print(chr(44033))
문자 > 숫자(정수) > 이진수로 변환
# 문자 > 숫자(정수) > 이진수로 변환
str = ''
for c in '파이썬':
print(format(ord(c), 'b'), end = ' ')
이제 본격적으로 파이썬에서 문자열을 표현해보자
문자열 👉 따옴표 활용!!
print('Hello')
print("Hello")
print("Hello 'world")
print('Hello "world"')
문자열 붙여쓰기, 반복하기 (문자열과 연산자 활용)
# + 연산자 : 붙여쓰기
print('Hello' + 'python')
print('Hello', 'python') # 스페이스 한 칸
print()
# * 연산자 : 반복
print('Hello' * 3)
print('-' * 30)
문자열의 인덱싱 (Indexing) 과 슬라이싱 (Slicing)
# 인덱싱(Indexing) (문자의 자리수)
a = 'Hello'
print(a[0])
print(a[2])
print(a[4])
# print(a[6]) #6번째 자리는 없기 때문에 실행 시 오류 발생
# 슬라이싱(Slicing)
print(a[0:2]) #[start:end:step] start <= x < end, step 생략 시 1
print(a[:2]) # 입력없을 경우 맨 앞
print(a[2:]) # 입력없을 경우 맨 끝
print(a[::2])
이스케이프 코드 (Escape Code)
👉 프로그래밍 할 때 사용하는 미리 약속된 '문자 조합'
주로 출력물을 보기 좋게 정렬할 때 활용
[이스케이프 코드 정리]
\n : 줄바꿈
\t : 탭 간격
\\ : \ 를 표현할 때
\' : 작은 따옴표 표현할 때
\" : 큰 따옴표 표현할 때
\r : 캐리지 리턴 (줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f : 폼 피드 (줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a : 벨 소리 (출력 시 '삑' 소리 재생)
\b : 백 스페이스
\000 : 널 문자
# 이스케이프 코드 (Escape Code)
print("totoro's \"test\"")
print("\\")
print('Hello \nworld')
print('Hello\tworld')
# 이스케이프 코드 연습 문제
print("Mary's cosmetics")
print('박씨가 소리질렀다. "도둑이야."')
print('"C:\Windows"')
print()
print('==', '이스케이프 코드 활용', '==')
print()
print('Mary\'s cosmetiscs')
print("박씨가 소리질렀다. \"도둑이야.\"")
print("\"C:\Windows\"")
'데이터사이언스 > Python' 카테고리의 다른 글
파이썬 터틀 모듈(turtle module)로 함수 활용 연습 - 다양한 연습문제로 함수 및 터틀 모듈 마스터하기 (1) | 2024.01.26 |
---|---|
파이썬 기초, 함수란?, 내장함수, 사용자 정의함수, 매개변수, 인수, 지역변수, 전역변수에 대해 알아보자. 파이썬 함수 뽀개기! (0) | 2024.01.25 |
파이썬 기초, 변수란? 파이썬 자료형 종류, 변수를 저장하는 여러 가지 방법 연습하기, 파이썬 변수를 뽀개보자! (1) | 2024.01.24 |
파이썬 기본 연산과 math 함수 사용해보기 (2) | 2024.01.23 |
맥에서 설치된 파이썬 버전 확인하기 (터미널에서 파이썬 실행) (0) | 2024.01.22 |