우와한 개발자

[Python] 기본 자료형- 숫자형과 문자열, 논리형

by 우와한개발자

  • 파이썬은 변수를 선언할때 Java, C언어와 달리 자료형을 지정하지 않음

1. 숫자형

  • 정수형, 실수형, 2/8/16진수, 복소수 모두 가능
  • 2진수는 0b로 시작
  • 8진수는 0o 또는 0O로 시작
  • 16진수는 0x로 시작
  • 자바의 int, long 처럼 제한이 없음.
a = 10
b = -2.5
c = 3 + 4j
d = 0o177
e = 0x8ff

 

2. 문자열 

  • 파이썬은 단일 문자와 문자열을 구분하지 않음

1) 문자열 생성 : 따옴표

  • "와 '를 사용
  • 여러 줄 문자열은 """ 나 '''를 사용
str1 = 'Hello'
str2 = "World"
str3 = """여러 줄
문자열"""

str4 = "I'm Sam"

 

2) 이스케이프 코드 : \

  • 이스케이프 코드는 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 문자 조합
이스케이프 코드 의미 설명 예시
\n 줄바꿈 New line "Hello\nWorld" → Hello
World
\t Tab (8칸 공백) "Name\tAge" → Name    Age
\\ 백슬래시 백슬래시 자체 표시 "C:\\Users" → C:\Users
\' 작은따옴표 작은따옴표 표시 'It\'s' → It's
\" 큰따옴표 큰따옴표 표시 "He said \"Hi\"" → He said "Hi"
\r 캐리지 리턴 커서를 맨 앞으로 "Hello\rWorld" → World
\b 백스페이스 앞 글자 하나 삭제 "Hello\b World" → Hell World
\f 폼 피드 페이지 나누기 "Page1\fPage2"
\v 수직 탭 수직 탭 "Line1\vLine2"
\a 벨 소리 경고음 (beep) "\a" → 삐 소리
\0 Null 널 문자 "Hello\0World"
\xhh 16진수 16진수 값 (hh) "\x48" → H
\ooo 8진수 8진수 값 (ooo) "\110" → H
\uhhhh 유니코드 (4자리) 유니코드 문자 "\u0048" → H
\Uhhhhhhhh 유니코드 (8자리) 유니코드 문자 "\U00000048" → H
⚠️ \r 출력결과 설명
- abc 출력 후 커서를 맨앞으로 이동시켜 한글자씩 \r이후 문자로 덮어씀

 

3) 문자열 인덱싱 및 슬라이싱

  • 첫번째 인덱스는 0
  • -1은 가장 마지막 문자
  • 형식
    • 문자열[index]
    • 문자열[from:to] : from인덱스부터 to인덱스까지(to인덱스 포함)
    • 문자열[from:to:by] : from 인덱스부터 to인덱스까지 by번째 문자(to인덱스 포함)
str = "hello world"

# 문자열[index]
str[0] # h
str[-2] # l (뒤에서 몇번째)
a = "pithon"
a[1] = 'y'
print(a) # python

# 문자열[from:to]
str[6:] # world
str[:7] # hello w
str[2:5] # llo (끝 인덱스 제외)

# 문자열[from:to:by]
str[0:6:2] # hlo
str[::2] # hlowrd
⚠️raw 문자열
- 문자열 앞에 r을 붙여 이스케이프 문자 등의 문자를 그대로 표현
- 정규 표현식(Regular Expression)이나 디렉토리 경로 표현에 많이 사용
print(r"\t \\ \"") # \t \\ \"

print("\t \\ \"") #	\ "

import re # 정규표현식과 관련된 함수들을 가진 모듈
data = "이름:홍길동, 주소:서울시, 전화번호:010-2345-6789"
phone_pattern = r'[\d]{3,4}-[\d]{4}-[\d]{4}'
phone = re.findall(phone_pattern, data)
print(phone) #['010-2345-6789']

 

3. 논리형

  • True 또는 False값을 갖는 자료형 (⚠️ true, FALSE 는 안됨)
  • False로 판별되는 경우를 제외한 모든 경우에 True로 판별
#False로 판별되는 경우
None, False, 0, 0.0, 0j, '', "", (), [], {}
⚠️  널 문자('\0'), 공백은 True로 판별됨

 

4. 자료형 관련 함수 

  • type() : 자료형 확인 
  • int() : 정수형으로 변환
  • float() : 실수형으로 변환
  • str() : 문자형으로 변환
  • bool() : 논리형으로 변환

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기