Cherry & Cherish

[Python 총정리 2] 자료형 본문

Programming/Python

[Python 총정리 2] 자료형

앵도라지 2023. 1. 28. 19:19


프로그래밍에서 프로그램이 처리할 수 있는 모든 것을 자료라고 부른다. 자료는 모든 것이 될 수 있고, 프로그램은 이러한 자료를 처리하는 모든 행위라고 정리할 수 있다. 자료형은 자료를 구분한 종류를 말한다. 가장 기본적인 자료형에는 문자열, 숫자, 불이 있다.

파이썬에는 어떤 자료와 처리 과정이 있는지 살펴보자.

 

1. 문자열

1) 개념

  • 문자열 (string) : 숫자가 아닌 글자, 메시지 등 → “Hello” , “Number”, “Type”
  • 문자열은 연결 연산자 ‘+’ 를 사용해 더하거나, 반복연산자 ‘*’를 사용해 문자열을 반복할수도 있다.
    • +=, *=와 같은 복합 대입 연산자를 사용할 수 있다.
  • 리스트 처럼 [] 인덱싱을 통해 원하는 문자열을 선택(인덱싱)하거나, 자를수도(슬라이싱)[:] 있다.
  • len() 함수를 사용해 전체 길이를 구할 수도 있다.
  • in 연산자를 사용해 문자열에 특정 단어가 포함되어 있는지 확인할 수 있다. (T/F로 나옴)
  • input() 연산자에 들어오는 모든 값은 문자열(str)이다. 숫자가 들어와도 ‘1’로 문자열화 된 숫자, 불린 값이 들어와도 ‘True’처럼 문자열화된 불린 값으로 나온다.

 

2) 함수

  • upper(), lower() : 대문자, 소문자 변환
a = "hellow"
a.upper() => "HELLOW"
a.lower() = "hellow"
  • strip() : 공백 제거
a = "      hellow     "

#strip() : 양 옆 공백 제거
a.strip() # "hellow"

#lstrip() : 왼쪽 공백 제거
a.lstrip() # "hellow     "

#rstrip() : 오른쪽 공백 제거
a.rstrip() # "       hellow"
  • isOO 함수 : True, False로 반환해줌
    • isalnum() : 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인
    • isalpha() : 문자열이 알파벳으로만 구성되어 있는지 확인
    • isdecimal() : 문자열이 식별자로 사용할 수 있는 것인지 확인
    • isidentifier() : 문자열이 정수형태인지 확인
    • isspace() : 문자열이 공백으로만 구성되어 있는지 확인
    • isdigit() : 문자열이 숫자로 인식될 수 있는 것인지 확인
    • islower() : 문자열이 소문자로만 되어 있는 것인지 확인
    • isupper() : 문자열이 대문자로만 되어 있는 것인지 확인
  • split() : 특정한 문자로 자를 때
a = "10 20 30 40 50".split() #공백을 기준으로 자름
print(a) # ['10, '20', '30', '40', '50']

a = "10.20.30.40.50".split(".") #.을 기준으로 자름
print(a) # ['10, '20', '30', '40', '50']
  • find() : 특정 문자의 위치를 찾을 때
#find는 중복되는 단어가 있을 때 왼쪽을 기준으로 찾음
a = "안녕안녕안녕하세요".find("안녕")
print(a) #0

#rfind는 중복되는 단어가 있을 때 오른쪽을 기준으로 찾음
a = "안녕안녕안녕하세요".find("안녕")
print(a) #3

 

2. 숫자

1) 개념

  • 숫자 (number) : 정수 실수를 포함한 모든 숫자 → 3, 20, 3.3, 0
  • 소수점이 있는 숫자는 정수, integer, int이라고 한다.
  • 소수점이 없는 숫자는 실수, float이라고 한다.
  • 부동소수점이 존재한다. 따라서, 0은 정수이고, 0.0은 실수이다.

2) 연산자

  • 사칙 연산자 + - * / 가 존재한다.
  • 정수 나누기 중 몫만을 가지는 연산자는 // 로 사용한다.
  • 나머지 연산자는 %이다.
  • +=, -=. *=, /=, %=, **/ 처럼 복합 대입 연산자를 사용할 수 있다.

3) 함수

  • format 함수로 특정칸에 출력하거나, 특정 숫자로 빈칸을 채울 수도 있다.
#정수
output_a = "{:d}".format(52) #52

#특정 칸에 출력하기
output_a = "{:5d}".format(52) #    52
output_a = "{:10d}".format(52) #           52

#빈칸을 0으로 채우기
output_a = "{:05d}".format(52) #00052
output_a = "{:05d}".format(-52) #-0052

#기호 붙여서 출력
output_a = "{:+d}".format(52) #+52
output_a = "{:+d}".format(-52) #-52
output_a = "{: d}".format(52) #양수는 기호 공백 : 52
output_a = "{: d}".format(-52) #-52
output_a = "{+5d}".format(52) #기호 뒤로 밀기 :    +52
output_a = "{:=+5d}".format(-52) #기호 앞으로 밀기 :-   52

#부동소수점 없애기
output_a = "{:g}".format(52.0) #52

#소수잠 아래 자릿수 지정하기
output_a = "{:.1f}".format(52.12345) # 52.1

 

3. 불

  • 불린, 불리언, 불 등으로 불린다.
  • 불 (boolean) : 참, 거짓으로 구분되는 것 → True, False
  • 불 타입에서는 True, False만 존재한다.
  • ==, <, >, ≤, ≥, ≠ 비교연산자를 사용할 수 있다.
  • not, and, or의 논리 연산자를 사용할 수 있다.

 

4. 타입 변환

1) 문자열을 숫자로

  • int() 함수를 사용해 문자열을 정수로 변환할 수 있다
  • float() 함수를 사용해 문자열을 float 자료로 변환할 수 있다.

2) 숫자를 문자열로

  • str() 함수를 사용해 숫자를 문자열로 변환할 수 있다.
  • format() 함수를 사용해 숫자를 문자열로 변환할 수 있다.
"{}".format(10)
"{} {} {}".format(10, 20, 30)
N = "{}만원".format(10) 
print(N) #10만원

다음 장에서는 조건문을 살펴보려고 한다.

'Programming > Python' 카테고리의 다른 글

[Python 총정리 1] 용어 정리  (0) 2023.01.28
Comments