컴파일러 vs 인터프린터
즉, 컴파일 언어는 소스 전체를 실행 파일로 만든 후 기계에서 실행 -> 번역과 같음 (c,java ...)
인터프린터 언어는 필요한 소스 코드만 그때 그때 실행 -> 동시통역(python ...)
변수 : 데이터가 저장되어 있는 메모리 공간
예를 들어 10을 저장할 때 메모리주소값을 일일히 기억하기 어려우니 x=10등으로 저장, x를 변수명이라함
number=10 이라 선언했을 시 number는 변수 선언, 10은 변수 초깃값, '='는 할당 연산자 이다.
10이라는 데이터가 메모리에 탑재 된다.
변수를 초기화 하지 않으면 해당 메모리에 아무것도 들어가 있지 않아 에러가 발생한다.
변수는 주로 데이터를 재사용하기 위한 목적으로 사용한다.
-> 프로그램의 효율적 관리가 가능하다.
작명에 대해서는 아무렇게 지어도 실행측면에서는 문제가 없으나 작명에 대하여 여러 사람들이 공통적으로 사용하는 보편적인 규칙이 존재하고 새로운 사람이 변수명을 보았을 때도 쉽게 알아보기위해 일종의 코드컨벤션을 지켜줘야 한다.
++++ 추가로 찾아보기!
효율적인 메모리 사용을 위해서 데이터를 정수형,실수형,문자(열)형,논리형으로 구분한 것.
-> 데이터 타입마다 메모리 할당량이 달라서!
다른 프로그래밍 언어에서는 타입을 명시(정적 타이핑)해야하나 파이썬은 자기가 알아서 구분한다(동적 타이핑).
정수 vs 실수
정수는 메모리가 허용되는 한 무한히 사용가능하다.
실수는 대략 소수점 이하 17~18번째에서 데이터 손실이 일어난다.
→ | ← | |
---|---|---|
정수 ↔ 문자열 | str(10) | int('10') or float('10') |
정수 ↔ 실수 | float(10) | int(10.0) |
불린 ↔ 문자열 | str(True) | bool('문자열') |
빈 문자 '' -> 데이터 없음, 빈 문자를 불린타입으로 변경시 False
공백 문자 ' ' -> 공백 데이터 있음, 공백문자를 불린타입으로 변경시 True로 변경 됨.
bool('True'), bool('False') 둘을 변형시 True, False가 나올 것 같지만 둘 다 True로 변경됨 (빈 문자가 아니라서!)
uswerInputData=input('문자형을 입력하세요')
위와같이 사용가능하다. 주의점은 input()으로 받은 입력값은 모두 str으로 처리된다. 따라서 사용하는 목적에 맞게 알맞은 형변환을 사용해야한다.
# 콤마(,)를 이용한 데이터 연속 출력
userName = 'hong gil dong'
userAge = 20
print('User name : ',userName)
output : User name : hong gil dong
# 포맷 문자열을 이용한 데이터 출력 (f-string)
print(f'User name : {userName}') #문자열 앞에 f를 기술, {}안에 원하는 변수명 작성
output : User name : hong gil dong
# 특수문자
# \t : 탭, \n : 개행
print('User name : {}'.format(uswerName))
output : User name : 홍길동
UserName='홍길동'
UserAge=11
print('나의 이름은 {1}이고, 나이는 {0}살 입니다.'.format(userName,userAge))
output : 나의 이름은 11이고 나이는 홍길동살 입니다.
%s -> 문자열
ex) print('Uswer name : %s' % userName) 같이 사용
%d -> 정수
%f -> 실수
(%.자릿수f 하면 그 자리까지만 출력, ex) %.1f )