무한 정수를 처리할 수 있음. 즉 메모리가 허용하는 한, 아무리 큰 크기의 정수라도 표현이 가능
문법구조가 쉬움
다양하고 뛰어난 모듈이 있음
소스코드 -> 실행 가능한 파일로 컴파일
컴파일된 코드를 기계에서 실행
이때 컴파일하는 과정을 거치면 실행하기 위한 파일이 생성됨
데이터가 저장되어있는 메모리 공간이 변수인데, 여기에는 주소가 있음. 하지만 주소값을 직접적으로 사용하는 것이 어렵기 때문에 여기에 이름을 붙인 것이 변수명
변수명은 a, b, c, a1, a2 ... 와 같은 방식은 권장되지 않고 데이터의 의미를 쉽게 알 수 있도록 지정하는 것이 바람직
userName한글도 변수명에 사용할 수 있지만 영문 사용이 권장
첫 글자는 소문자를 권장. 대문자도 사용이 가능하나 보통 클래스명의 첫 글자를 대문자로 사용하기 때문에 혼동이 올 수 있음
카멜표기법 또는 스네이크 표기법 사용
userName, myHomeAddress 등user_name, my_home_address숫자는 사용이 가능하나 변수명의 첫 번째에는 사용이 불가
언더바를 제외한 특수문자 사용 불가
예약어는 사용 불가
예약어: 파이썬에서 특정 기능을 수행하도록 미리 예약되어 있는 단어
False, None, True, __peg_parser__, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
공백문자 사용 불가
(공백) a, a b 파이썬의 내장함수 이름은 변수명으로 사용할 수는 있으나 해당 내장함수를 사용할 수 없어지게 되기 때문에 사용하지 않는 것이 좋음
'Hello World!"정수는 메모리가 허용되는 한 무한히 사용이 가능
반면 실수는 대략 소수점 이하 17~18번째에서 데이터 손실 발생
fNum = 0.12312312312123123123123123123123123123123
print(fNum) #0.12312312312123123
True)과 거짓(False)을 구분하기 위한 자료형str() 함수를 이용
var = 100
print(type(var)) #<class 'int'>
var = str(var)
print(type(var)) #<class 'str'>
정수의 경우 int() 함수를, 실수의 경우 float() 함수를 사용
논리형 -> 숫자형
True: 1(정수), 1.0(실수)False: 0(정수), 0.0(실수)var = False
var = float(var)
print(var) # 0.0
실수를 정수로 바꾸면 소수 부분은 버리고 정수로 형변환 됨
var = 3.7
var = int(var)
print(var) # 3
정수 형태의 문자열을 실수로 형변환 하는 것은 가능하나, 실수 형태의 문자열을 정수로 형변환하는 것은 불가능
#1. 정수 형태의 문자열 -> 실수
var = '3'
var = float(var)
print(var) # 3.0
#2. 실수 형태의 문자열 -> 정수
var = '3.0'
var = int(var)
print(var) # ValueError: invalid literal for int() with base 10: '3.0'
문자열 -> 논리형
True로 변환됨True가 되는 것에 주의숫자형 -> 논리형
False, 그 외에는 True로 변환False논리형 역시 산술 연산이 가능하며, True는 1, False는 0으로 계산
var1 = True
var2 = False
print(var1+var2) # 1
print(var1*2) # 2
print(var2+3) # 3
input() 함수를 통해 입력 받으며, 함수 내에 문자열 인자를 넣어줌으로써 입력 가이드 문구를 줄 수 있음
userInputData = input('당신의 이름을 입력해주세요: ')
input() 함수를 통해 입력받은 데이터는 항상 문자열 자료형. 따라서 원래 의도한 자료형으로 사용하고 싶다면 형변환 후에 사용해주어야 함
print() 함수를 이용한 출력
인자로 출력할 내용을 줄 수 있고, 여러 데이터를 한 줄에 출력하고 싶다면 콤마(,)로 여러 데이터를 인자로 주면 됨
print()를 사용하면 자동으로 줄바꿈이 되는데 end 인자의 기본값이 개행문자(\n)로 되어있기 때문이고, 이를 적절히 바꾸면 줄바꿈 외에 같은 줄에 이어서 출력하기 등등이 가능
print('안녕', end='')
print('하세요')
# 안녕하세요
포맷 문자열을 이용한 데이터 출력
userName = '홍길동'
print(f'User name : {userName}')
# User name : 홍길동
특수문자
\t는 탭을, \n은 개행
만약 위와 같은 기능으로 쓰고 싶은 게 아니라 \t 라는 문자열을 출력하고 싶다면 \ 앞에 \를 하나 더 붙여줌
print('안녕\t하세요') # 안녕 하세요
print('안녕\\t하세요') # 안녕\t하세요
문자열 내에 중괄호({})를 넣어주고, 문자열 뒤에 format(값)을 넣어주면 됨
print('User name: {}'.format(userName))
print('User name: {}, User age: {}'.format(userName, userAge))
하나의 값을 여러 군데 넣을 때는 위와 같이 해도 상관없지만, 인덱스를 사용하는 방법으로 더 편하게 출력할 수 있음
print('이름은 {0}이고 나이는 {1} 살입니다. {0}라는 이름은 아버지께서 지어주셨어요'.format(userName, userAge))
%s: 문자열, %d: 정수, %f: 실수
문자열 내에서 값을 삽입할 위치에 위 형식문자를 넣고 문자열 뒤에 %와 함께 삽입할 값을 넣어줌. 값이 여러개일 때는 소괄호로 묶음
print('User name: %s, User age: %d' % (userName, userAge))
소수를 삽입할 때는 %와 f 사이에 .과 숫자를 지정함으로써 소수점 몇 번째 자리까지 표시할 것인지 정할 수 있음
print('Pi : %.0f' % 3.141592) # 3
print('Pi : %.6f' % 3.141592) # 3.141592