본문 바로가기
Spec UP - Backend/혼자 공부하는 파이썬

chap_02. 자료형

by TIS_Ha 2023. 7. 31.
반응형

자료형

자료형 : 자료의 형식, 개발자들이 기능과 역할에 따라 자료를 다룰 수 있도록 구분한 종류

              (문자열 String,숫자 Number ,불 Boolean)

파이썬에서 자료의 형식을 확인할 때는 type() 함수를 사용한다.

 

문자열

일반적으로 문자열은 문자들은 큰 따옴표 (") 혹은 작은 따옴표 (')로 감싸서 만든다.

큰따옴표나 작은따옴표를 포함한 문자열을 생성하는 경우를 대비해 두가지 방법으로 문자열을 만들도록 지원한다.

(Ex. 나는 "안녕"이라고 말했어 문자열을 생성하고 싶을 때 → "나는 "안녕"이라고 말했어" : 구문오류(Syntax Error) / '나는 "안녕"이라고 말했어' → 정상)

이러한 방법이 불편한 경우 이스케이프 문자를 사용해 문자열을 만들 수도 있다.

  • \" : 큰따옴표, \' : 작은따옴표
  • Ex. "나는 \"안녕\"이라고 말했어"

이외에도 자주 쓰이는 이스케이프 문자는 아래와 같다.

  • \n : 줄바꿈
  • \t : 탭을 의미한다.
  • \\ : 역슬래시(\)를 의미한다.

여러줄 문자열을 만드는 경우 \n 줄바꿈을 이용하거나 큰따옴표(""") 또는 작은 따옴표(''')를 세 번 반복한 기호를 사용한다. 

이 때 의도하지 않은 줄바꿈을 유의해야한다.

print("""
혼자
공부하는
파이썬
""")

위와 같이 코드를 작성하게 되면 맨윗줄과 마지막줄에 의도치않은 공백 줄이 포함되게 된다.

이러한 의도하지않은 줄바꿈이 들어가지 않게 하려면 \ 기호를 사용한다.

print("""\
혼자
공부하는
파이썬\
""")

문자열 연산자

  • + : 문자열 연결 연산자, 두 문자열을 연결해서 새로운 문자열 생성("안녕하세요"+"!")
  • * : 문자열 반복 연산자 ("안녕 "*3)
  • [] : 문자열 내부의 문자 하나를 선택하는 연산자, 대괄호 [] 안에 선택할 문자의 위치 인덱스를 지정한다.
  • [:] : 문자열의 특정 범위를 선택하는 연산자, 대괄호 [ : ] 안에 인덱스를 지정하여 범위를 설정한다.

인덱스는 문자의 위치를 의미한다.

문자열의 위치를 셀 때 0부터 세어 다음과 같이 0,1,2,3 .. 으로 늘어난다.

이 때 대괄호의 숫자를 음수로 입력하면 뒤에서부터 선택할 수도 있다.

0 1 2 3 4
-5 -4 -3 -2 -1
print("안녕하세요"[4]) #"요" 출력
print("안녕하세요"[1:4]) #"녕하세" 출력
print("안녕하세요"[1:]) #"녕하세요" 출력
print("안녕하세요"[:3]) #"안녕하" 출력

문자열 범위 선택 연산자 이용 시 대괄호 안의 콜론(:)으로 범위를 지정할 수 있으며,

이때 파이썬은 '마지막 숫자'를 포함하지 않는다.

때문에 위 예시에서 ' "안녕하세요"[1:4] ' 출력 시 4번째 인덱스를 제외한 "녕하세"가 출력되는 것이다.

 

문자열 범위선택연산자는 대괄호 안에 넣는 숫자 중 하나를 생략하여 사용할 수 있다.

숫자 생략 시에는 자동으로 가장 최대 위치(첫번째글자/마지막글자)까지 선택한다.

 

이처럼 [] 연산자를 이용해 문자열의 특정 위치에 있는 문자를 참조하는 것을 '인덱싱'이라고 하고,

[:] 연산자를 이용해 문자열의 일부를 추출하는 것을 '슬라이싱' 이라고 한다.

* IndexError 예외 : 리스트/문자열의 수를 넘는 요소/글자를 선택할 때 발생하는 오류.

 

문자열 길이 구하기

문자열의 길이를 구할때는 len() 함수를 사용한다.

print(len("안녕하세요") # 5 출력

숫자

소수점이 없는 숫자를 정수형(int), 소수점이 있는 숫자를 실수형(float)이라고 한다.

 

숫자연산자

  •  + , - , * , / : 사칙연산자
  • // : 정수나누기 연산자(숫자를 나누고 소수점 이하의 자릿수를 버린 후 정수부분만 남기는 연산자)
  • % : 나머지 연산자(숫자를 나누었을때 남은 나머지를 구하는 연산자)
  • ** : 제곱연산자( 2**3은 2의 3제곱이다)

연산자의 우선순위

곱셈과 나눗셈이 덧셈과 뺄셈보다 우선되며, 왼쪽부터 오른쪽 순서로 연산합니다.

먼저 연산하고 싶은 부분이 있는 경우 괄호 ( ) 로 감싸줍니다.

 

*TypeError 예외 : 서로 다른 자료형을 연산하는 경우 발생되는 에러(ex. "문자열" + 123)

 

반응형

'Spec UP - Backend > 혼자 공부하는 파이썬' 카테고리의 다른 글

chap_04. 반복문  (0) 2023.09.14
chap_03. 조건문  (0) 2023.08.31
chap_02. 숫자와 문자열의 다양한 기능  (0) 2023.07.31
chap_02. 변수  (1) 2023.07.31
chap_1. 파이썬 시작하기  (0) 2023.07.14

댓글