혼자 공부

공부0305

왕초보코딩러 2024. 3. 5. 17:29
728x90

 

변수를 파이썬에서는 식별자, 이름이라고 한다.

 

파이썬 이름

snake 방식, camel 방식, pascal 방식 혼용해서 사용

 

이름 정하는 법(권장)

camel(대문자) -> 클래스

snake(언더바) -> 함수

 

expression: 하나의 결과값으로 축약할 수 있는 것

내장 결과 값

사용자 결과 값

 

파이썬 숫자는 4가지

정수, 실수, 복소수(허수), True/False

True는 1, False는 0 -> print 제외

파이썬 숫자는 효율적이지 못하다 -> 숫자를 다룰 때는 numpy 사용!

 

 

문자형

바이트 문자(한글은 안됨), 유니코드

바이트 문자: b 붙여야 함

유니코드: u를 붙이거나 안붙이기

 

coercion 암묵적 형 변환

문자와 숫자 +로 결합은 암묵적 형 변환이 안된다

 

시퀀스: 순서가 있는 컨테이너

문자형은 시퀀스라고도 한다.

순서가 있기 때문에 인덱싱, 슬라이싱이 가능

인덱싱은 인덱스 범위를 벗어나면 인덱스 에러가 날 수 있지만, 슬라이싱은 범위를 벗어나도 에러가 없다.

https://wikidocs.net/84391

 

2.4 시퀀스

### 시퀀스 자료형 파이썬에는 세 가지 *시퀀스(sequence)* 자료형이 있다. * 문자열: `'Hello'`. 문자열(string)은 문자(character)들의 시퀀…

wikidocs.net

 

 

array는 Homogenious한 시퀀스

list는 Heterogenious한 시퀀스

https://mozzang.tistory.com/103

 

[Java]Heterogenious(이질화) & Homogenious(동질화)

Homogenious(동질화)란? 같은 타입의 인스턴스 변수에 같은 타입의 메모리 주소를 저장 예) Student st = new Student(); Heterogenious(이질화)란? 부모타입의 인스턴스 변수에 자식타입의 메모리 할당해서 그

mozzang.tistory.com

 

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() 등, 세트, 딕셔너리도 가능, 판다스의 데이터도 가능