<python> '혼자 공부하는 파이썬' 학습 메모

김은지·2022년 2월 6일
0

메모 및 노트

목록 보기
15/22

python 문법이 헷갈려서 다른 분들께 여쭤보니 기본서를 한 번 보는게 어떠냐고 하셔서 구매한 '혼자 공부하는 파이썬(혼공파)'

유튜브 강의도 무척 쉽고 재미있어서 3일동안 거의 다 보고, 모듈 한 단원이 남았다.

기억하고 싶은 부분을 메모한다.

class

  • 늘 붕어빵틀과 붕어빵으로만 비유되었던 class와 객체를 조금 다르게 표현하심
  • '기본적인 인간의 속성(이름, 나이, 성별, 국적... 등)' 이런게 클래스고,
  • '김재영', '1', '여성', '대한민국' 이런게 객체라고 하셨는데 이해가 됐다.

제너레이터

  • 이터레이터를 포함하는 개념인 제너레이터
  • yeild를 만나면 실행을 멈추고(양보하고) 함수를 빠져나간다.
  • reversed(list)도 이터레이터를 반환하는 함수 중 하나.
  • list가 리턴 되는게 아니라 메모리를 절약할 수 있다.
  • 일회용(또 쓰려면 또 만들거나, list로 cast해서 저장한다.)

finally를 쓰는 이유

  • return 이나 break 등 try/except(catch아님 주의!)구문에서 함수 실행을 종료하는 문장이 나와도 실행된다.
  • 어렴풋이 그냥 마지막에 쓰면 안되나 하는 궁금증을 갖고 있었는데, 궁금증 해결

lambda / map() / filter()

  • 람다식을 맵과 필터와 묶어서 배우는 이유는, 람다식은 매개변수로 함수가 들어갈 때, 좀 더 간단하게 작성하기 위해 사용하는 함수 작성방식이고 map(), fillter()는 매개변수로 (함수,리스트)를 받아 동작하는 함수이기 때문이다.
  • map() : 리스트의 요소를 함수에 넣어 리턴된 값으로 새로운 리스트를 구성해주는 함수
  • filter() : 리스트의 요소를 함수에 넣고 리턴된 값이 True인 것으로 새로운 리스트를 구성해주는 함수
  • 람다식을 두 함수에 적용한 예
list_input = [1, 2, 3, 4, 5]

print(map(lambda i : i * i , list_input))
* 결과 : [1, 4, 9, 16, 25]

Print(filter(lambda i : i % 2 == 1, list_input))
* 결과 : [1, 3, 5]

리스트 내포

  • [표현식 for 반복자 in 반복할 수 있는 것 if 조건문]
  • 맵이나 필터를 리스트 내포로 구현할 수 있다.
  • 예시
array = ["사과", "자두", "초콜릿", "바나나", "체리"]
output = [fruit for fruit in array if fruit != '초콜릿']
pritn(output)
* 결과 : ['사과', '자두', '바나나', '체리']

리스트와 튜플의 특이한 할당

[a, b] = [10, 20]
(c, d) = (10, 20)

print(a)  * 10
print(b)  * 20
print(c)  * 10
print(d)  * 20

이외에도 기억하고 싶은 다양한 내용이 있으니
후에 추가로 기록하도록 하겠다.

  • 재귀함수 구현할 때, 주의 할 것(문제 풀며 놓친 점)
  • python tutor

파이썬 입문자분들
책 구매 적극 추천합니다.
강의도 적극 추천합니다.
혼자 공부하는 파이썬 유튜브 강의 듣기

0개의 댓글