변수를 파이썬에서는 식별자, 이름이라고 한다.
파이썬 이름
snake 방식, camel 방식, pascal 방식 혼용해서 사용
이름 정하는 법(권장)
camel(대문자) -> 클래스
snake(언더바) -> 함수
expression: 하나의 결과값으로 축약할 수 있는 것
내장 결과 값
사용자 결과 값
파이썬 숫자는 4가지
정수, 실수, 복소수(허수), True/False
True는 1, False는 0 -> print 제외
파이썬 숫자는 효율적이지 못하다 -> 숫자를 다룰 때는 numpy 사용!
문자형
바이트 문자(한글은 안됨), 유니코드
바이트 문자: b 붙여야 함
유니코드: u를 붙이거나 안붙이기
coercion 암묵적 형 변환
문자와 숫자 +로 결합은 암묵적 형 변환이 안된다
시퀀스: 순서가 있는 컨테이너
문자형은 시퀀스라고도 한다.
순서가 있기 때문에 인덱싱, 슬라이싱이 가능
인덱싱은 인덱스 범위를 벗어나면 인덱스 에러가 날 수 있지만, 슬라이싱은 범위를 벗어나도 에러가 없다.
array는 Homogenious한 시퀀스
list는 Heterogenious한 시퀀스
https://mozzang.tistory.com/103
tuple 내부적으로 가장 많이 쓰이는 데이터 타입
a = 1,2,3,4
a #(1, 2, 3, 4)
() 없어도 알아서 튜플로 변환
세트: 순서가 없고, 중복이 없다
순서가 없어서 시퀀스처럼 인덱싱, 슬라이싱 불가능
순서를 사용자가 정할 수 없다.
{}는 빈 딕셔너리가 생성됨
공집합을 만들고 싶다면 set() 를 사용
딕셔너리: 키와 벨류로 나눠진다.
딕셔너리 key는 hashable 한 것만 넣을 수 있다.
key는 중복이 안된다
hashable하지 않은 것: list
키만 보기: 딕셔너리.keys()
벨류만 보기: 딕셔너리.values()
둘 다 보기: 딕셔너리.items()
None과 False는 다름
False는 0
None =/= 0이므로
False == None 이면 False값이 나온다
존재가 없는 애 제외 모두 True
존재가 없는 None, '', [], set() 모두 False
if-elif-else문
if문, elif문의 조건이 아니면 else문
for-else문
for문 다 끝나고 else문
try-except-else문
short circuit
시퀀스 타입(문자, 리스트, 튜플)는 비교할 때 앞에만 보고 결정 똑같으면 그 다음 거 본다
'a' > 'Aa'
True나온다
앞 and 뒤
앞이 참이면 뒤를 반환
앞이 거짓이면 앞을 반환
앞 or 뒤
앞이 참이면 앞을 반환
앞이 거짓이면 뒤를 반환
삼항 연산자
(조건이 True일 시 반환할 값) if 조건 else (조건이 False일 시 반환할 값)
반복문
for, while
in 다음에 한 개씩 뽑아 쓸 수 있는 컨테이너 시퀀스 오면 됨
dir()을 써서 봤을 때 __iter__이 있으면 쓸 수 있음
덕 타이핑 -> 오리처럼 보이고 오리처럼 꽥꽥댄다면, 그것은 오리다
시퀀스 타입이 아니지만, 시퀀스 타입처럼 기능한다면 시퀀스 타입이다.
all(), any(), map(), enumerate() 등, 세트, 딕셔너리도 가능, 판다스의 데이터도 가능