Python 기초 02. 자료형,자료형변환,데이터입출력

yoong·2023년 4월 5일

1. Python

목록 보기
3/21
post-thumbnail

Python 기초 2.

01.자료형

1. 자료형(Data type)

: 효율적인 메모리 사용을 위해서 데이터를 정수형,실수형,문자(열)형, 논리형으로 구분한 것

# 정수형 : int (메모리가 허용되는 한 무한 사용 가능) 
num = 10
score = 85
# 실수 : float (대략 소수점 이하 17~18번째에서 데이터 손실(짤림)이 일어남)
pi = 3.14
height = 153.2
# 문자(열): str (큰따옴표/작은따옴표 각각 사용 가능 but 혼용 불가능)
intro = '안녕하세요.'
country = "korea"
# 논리형: bool
exampleResult =True
dayoff = False


2. 자료형 변환 :: 문자

자료형 변환(Type casting) : 데이터 타입을 변환하는 것으로 파이썬에서 제공하는 함수를 이용

# < 정수 to 문자(열) >
var = 100 #정수형
var = str(var) #정수형 변수(int)를 문자형(str)으로 재할당
print(type(var)) #class가 문자형'str'으로 나오게됨. 
# < 실수 to 문자(열) >
var = 3.14 #실수형
var = str(var) #실수형 변수(float)를 문자형(str)으로 재할당
print(type(var)) #class가 문자형'str'으로 나오게됨. 
# < 논리 to 문자(열) >
var = True #논리형
var = str(var) #논리형 변수(bool)를 문자형(str)으로 재할당
print(type(var)) #class가 문자형'str'으로 나오게됨. 


3. 자료형 변환 :: 숫자

# < 문자(열) to 정수 >
var = '100' #문자형
var = int(var) #문자형 변수(str)를 정수형(int)으로 재할당
print(type(var)) #class가 정수형'int'으로 나오게됨. 
# < 문자(열) to 실수 >
var = '3.14' #문자형
var = float(var) #문자형 변수(str)를 실수형(float)으로 재할당
print(type(var)) #class가 실수형'float'으로 나오게됨. 

#다른 예시(초기화 하지 않고 타입변환하기)
print(float(var)+float(var))
# < 논리 to 정수 > (true는 1 / false는 0 으로 변환)
var = True #논리형
var = int(var) #논리형 변수(bool)를 정수형(int)으로 재할당
print(type(var)) #class가 정수형'int'으로 나오게됨. 
# < 논리 to 실수 >
var = True #논리형
var = float(var) #논리형 변수(bool)를 실수형(float)으로 재할당
print(type(var)) #class가 실수형'float'으로 나오게됨. 


4. 자료형 변환 :: 그외 데이터

  1. 빈문자 vs 공백문자
  • 빈문자(Empty string) : 데이터가 아에 없음('') , 문자형(str)
  • 공백 문자(Space string) : 공백 데이터가 있음(' '), 문자형(str)
# < 빈문자 to 논리 >
var = '' #빈문자
var = bool(var) #문자형 변수(str)를 논리형(bool)으로 재할당
print(var) #값으로 'False'
print(type(var)) #class가 논리형'bool'으로 나오게됨. 
# < 공백 문자 to 논리 >
var = ' ' #공백 문자
var = bool(var) #문자형 변수(str)를 논리형(bool)으로 재할당
print(var) #값으로 'True'
print(type(var)) #class가 논리형'bool'으로 나오게됨. 
  1. 문자 to 논리형 to 정수
    : 문자형에서 논리형으로 변환시 단어와 상관없이 '데이터의 유무'에 따라 bool의 True/False가 정해진다. ex) var = 'False'를 논리형으로 변환시킬 때, 'False'라는 단어와 상관 없이 데이터가 존재하므로 논리형에서는 '참'이 됨.
# < 문자(열) to 논리 to 정수 >

var1 = 'True' #문자형
var2 = 'False' 

var1 = bool(var1) #논리형 변수(bool)로 변환
var2 = bool(var2)

print(var1 + var2) #값은 2가 나옴 (why? true(1) 두개가 더해졌기 때문)
print(type(var1 + var2)) #class가 정수형'int'로 나오게됨. 


02.데이터 입출력

1. 데이터 입력 :: input 함수

  • input함수 : 사용자가 입력한 값을 변수에 저장하는 함수
#방법1
print('키보드를 통해서 데이터를 입력하세요.')
userInputData = input()

#방법2
userInputData = input('키보드를 통해서 데이터를 입력하세요.')

print(userInpoutData)
  • input 함수를 이용하여 입력한 데이터의 경우 모두 str(문자)자료형! so, 다른 자료형의 경우 '형 변환 함수'를 이용하여 형 변환을 해주어야함.
# 예시 : input(문자형) to 정수형 
userInputData = int(input('정수형을 입력하세요.'))
print(userInputData)
print(type(userInputData) #class가 정수형'int'로 나오게됨

2. 데이터 출력 :: print 함수

  • print함수 : 사용자가 입력한 값을 변수에 출력하는 함수
userName = '홍길동' 
userAge = 20

print(userName) # 홍길동
print(userAge) # 20
  • 데이터 연속 출력방법 1. 콤마(,)
print('유저이름: ', userName) #유저이름: 홍길동
print('나이: ',userAge) #나이: 20
print('유저이름: ',userName ,' , 나이: ',userAge) #유저이름: 홍길동, 나이: 20
  • 데이터 연속 출력방법 2. 포멧 문자열(f',{})
print(f'유저이름 : {userName}')
print(f'나이 : {userAge}')
print(f'유저이름 : {userName} , 나이 : {userAge}' )
  • end 옵션: 자동개행(\n)을 없애주는 인수
print('3*5=', end='') 
print(3*5) 
#결과값이 한 줄에 표현 3*5 = 15 
  • 특수문자
#개행 : \n
#탭 : \t


print(f'유저이름\t:{userName}')


3. 데이터 출력 :: format 함수

  • Format 함수는 문자열에 특정한 변수의 값을 넣고 싶을 때 사용
#format 함수 예시
print('유저이름: {}'.format(userName))
print('나이: {}'.format(userAge))
print('유저이름:{}, 나이:{}' .format(userName, userAge))

#if 순서를 바꾸고 싶을 경우 (인덱스를 추가하여 강제로 바꾸어줌)
print('나이:{1}, 유저이름:{0}' .format(userName, userAge))


4. 데이터 출력 :: 형식문자

  • %s = 문자열
print('유저이름: %s' %userName)
  • %d = 정수
print('나이: %d' %userAge)
print('유저이름: %s, 나이:%d' %(userName, userAge))
  • %f = 실수
print('Pi: %f' %3.14)
  • %nf = 실수 소수점 n자리까지
print('pi : %.2f' %3.141592) #소수점 두자리까지인 3.14출력

Reference

profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글