easy to learn : 문법이 간결
expressive language : C나 java보다 간결한 표현 가능
크로스 플랫폼 언어 : 다양한 os에서 실행 가능
인터프리터 언어(interpreter) : 컴파일 없이 바로 실행 가능
객체 지향 프로그래밍(Object Oriented Programing)
변수(Variable) : 객체를 참조하기 위해 사용되는 이름, 다른 객체를 언제든 할당 가능
객체(Object) : python이라는 박스에 담는 모든 것! 객체 = 사물, things
할당 연산자(=)를 통해 값을 할당(assingment)
type() : 변수에 할당된 값의 타입
id() : 변수에 할당된 값의 고유한 identity이며 메모리 주소
x = y = 1004x, y = 1, 2tmp = x
x = y
y = temx, y = y, xpython 객체를 식별하는데 사용하는 이름
규칙
수치형(Numeric Type)
정수(Int) : 모든 정수의 타입은 int(long없음), 오버플로우 발생하지 않음
cf) overflow : 데이터 타입별 사용가능한 메모리 크기를 넘어서는 상황
실수(Float) : 정수가 아닌 모든 실수, 부동소수점, 지수표기법, 복소수 참고만
cf) 값을 비교하는 과정에서 실수일 경우 주의(feat.부동소수)
3.14 - 3.02 == 0.12000000000001
cf) 복소수(Complex) : 허수부를 j로 표현
불린형(Boolean Type)
True/False의 값을 가짐(★첫글자 대문자)
True는 1, False는 0
비교/논리 연산 시 사용
연산자(Operator)
산술 연산자(Arithmetic Operator) : +, -, * %, /, //(몫), **(거듭제곱)
복합 연산자(In=place Operator) : 연산과 할당이 함께 이루어짐(+=, //= 등)
비교 연산자(Comperison Operator) : <, <=, >, >=, ==, !=
논리 연산자(Logical Operator) : A and B, A or B, Not(True를 False로, False를 True)
컨테이너(Container)
: 여러 개의 값을 담울 수 있는 객체, 서로 다른 자료형 저장 가능
시퀀스형 컨테이너(Sequence Container) : 문자열, 리스트, 튜플, range
컬렉션/비시퀀스 : 세트(유일한 값들의 모음), 딕셔너리(키-값들의 모음)