Research Notes

[Python] Data Type: Integer, Float, String, and Formatting 본문

Programming Language/Python

[Python] Data Type: Integer, Float, String, and Formatting

jiachoi 2023. 7. 3. 15:46

Python의 자료형은 여러 종류로 이뤄져있다.

▶ 숫자형

- 정수(Integer) , ex) -1, 0, 2 ...

- 소수(Floating Point), ex) 2.0 , -3.5 ...

▶ 문자형

- ex) "hello" , "world" , "2"

- ex) "2" + "5" = "25"

▶ 불린

- True와 False만 값으로 가진다.

▶ 리스트, 사전, 튜플 등... 이 있다.


1. 숫자형

연산 부호 (Operators)

연산자
+
덧셈 (addition)
-
뺄셈 (subtraction)
*
곱셈 (multiplication)
/
나눗셈 (division)
%
나머지 (modulo)
**
거듭제곱 (exponentiation)
print(2 - 4)          # 2 빼기 4
print(5 * 3)          # 5 곱하기 3
print(7 % 3)          # 7을 3으로 나눈 나머지
print(2 ** 3)         # 2의 3제곱

print(2 + 3 * 2)      # 덧셈보다 곱셈을 먼저 계산
print(2 * (2 + 3))    # 괄호안의 수식을 먼저 계산
# Answer
11
-2
15
1
8
8
10

정수형과 정수형 연산 = 정수형

소수형과 소수형 연산 = 소수형

정수형과 소수형 연산 = 소수형

(단, 나눗셈은 정수형끼리만 연산을 하더라도 모든 결과값이 소수형으로 나온다.)

2. 문자형

문자열이란 ? 키보드로 입력할 수 있는 글자들을 표현하는 자료형.

문자열 사용방법 => '' 또는 "" 사용하여 표현. 작은따옴표와 큰따옴표를 혼용하여 사용은 불가

(공백을 주고싶으면 따옴표 안에서 공백을 표시하면 된다. )

# 자료형
# 문자열 예시
print(3+7)  # 숫자형끼리의 덧셈
print("3"+"7") # 큰따옴표 안에 있는 것이 문자형으로 인식되어 문자끼리 연결

print(2 * 3) # 숫자형의 곱셈 / 2 * 3 = 2+2+2 = 6
print("Hello" * 3) # 문자형의 곱셈 / "Hello" * 3 = Hello + Hello + Hello = HelloHelloHello
# Answer
10
37
6
HelloHelloHello

※ 잘못된 문자열 사용 예시

#잘못된 문자열 사용
print('I'm a doctor')

문자열을 엮는 것으로 작은 따옴표를 사용하였으나 문자열로 'I' 까지만 인식해 오류가 발생하였다.

이런 경우에는 큰따옴표로

print ( " I'm a docter" ) 해야 오류가 나지 않는다. (문자열 안에있는 따옴표와 구분할것!)

문자열 오류 결과

 

3. 형변환(Type Casting / Type Conversion)

# 숫자형 -> 숫자형

1) 소수형에서 정수형으로 변환

int사용, int = integer (정수) 라는 뜻이면 이는 정수형으로 변환을 하게 한다.

2) 정수형에서 소수형으로 변환

float사용, float = floating point(소수)이며, 이는 소수형으로 변환을 하게 한다.

# 소수형에서 정수형으로의 변환 
print(int(3.8))     # 결과 = 3
# 정수형에서 소수형으로의 변환 
print(float(2))     # 결과 = 2.0

# 문자형 -> 숫자형

print(int("2") + int("5")) # 2+5 = 7

# 숫자형 -> 문자형

str 사용 , str = string(문자형) 이라는 의미이며 문자형으로 변환

str값과 int값은 연결될 수 없음!!

print(str(2)+str(5))  # 문자형 2와 문자형 5를 더한 결과값 = "25"가 출력됨

print("저는" + 20 + "살입니다.") #오류 = str값과 int값은 연결될 수 없음!! 
     # => int값인 20을 str값으로 변환해야함 , str(20)으로
print("저는 " + str(20) + "살입니다.") # 저는 20살입니다. 가 출력됨

# 형변환 주의사항 (모든경우에 사용할수 있는것은 아니다.)

print(int("Hello World!")) # Error

형변환을 할때는 논리적으로 변환이 될지 생각을 하고 해야한다.

위의 예시를 보면 "Hello World"라는 문자형이 int 값으로 변환될 수는 없으므로 오류가 난다

 

4. 문자열 포맷팅

형 변환과 문자열 덧셈 연산만 갖고는 코드가 길고 복잡해진다.

하지만 문자열 포맷팅(String Formatting)을 사용하면 훨씬 간결한 코드를 작성할 수 있다.

​- 문자열 포맷팅 형식

print("%d년 %d월 %d일 %s요일 입니다." %( 2019, 3, 19, "월") )

    노랑색 - 포맷팅 형식 지정

    빨강색 - 포맷 형식에 맞는 자료형 입력 ( %( ) 안에 입력 )

    %d, %d, %d, %s에 들어갈 숫자와 정수 순서대로 입력

- 문자열 포맷 코드

코드
자료형
%d
정수(Integer)
%f
소수(Floating point)
%s
문자열(String)
# 문자혈 포맷팅 예제
year = 2019
month = 3
day = 19
day_of_month = "월"

# 형변환만을 사용하여 오늘 날짜를 출력한 경우
print("오늘은 " + str(year) + "년 " + str(month)+ "월 " + str(day) + "일 " + day_of_month + "요일 입니다." )

# 문자열 포맷팅 사용한 경우
print("오늘은 %d년 %d월 %d일 %s요일 입니다." %(year, month, day, day_of_month))
# 오늘 날짜에 하루를 더하고 싶은경우
print("오늘은 %d년 %d월 %d일 %s요일 입니다." %(year, month, day+1, "화"))

문자열 포맷팅 예제의 결과값

- 소수점 포맷팅 예제

# 소수점 포맷팅 예제
print("1 나누기 3은 %f" %(1/3))
print("1 나누기 3은 %.2f" %(1/3)) # %.2f : 소수점 2자리까지 나타내라
print("1 나누기 3은 %.4f" %(1/3)) # %.4f : 소수점 4자리까지 나타내라

소수점 포맷팅 예제 결과