본문 바로가기

TIL

[TIL 2024. 02. 29]

오늘 한 일

  • 개인과제 마무리 및 제출
  • 튜터님 해설 세션
  • 오후 특강
  • TIL 작성

 

오늘의 리뷰

1. pass/continue/break 

(1) pass

  • 결론은 pass는 반복문에서는 아무런 영향이 없음
  • 특정한 경우에 주로 사용됨 => 1. 조건문에 넣어줄 조건이 없을 때 2. class 선언시에 초기 조건을 아직 주지 못했을 때 but, 코드 동작확인을 위해 실행시에 오류를 방지하기 위해서 사용함

(2) continue

  • 위의 코드에서는 짝수인 경우(=조건문의 조건 성립시)에 continue가 실행됨
  • 그 결과, 홀수는 모두 바로 print되지만, 짝수는 continue까지만 실행되고 다시 for문의 처음으로 돌아감(=>다음 숫자로) 

(3) break

  • 위의 코드에서 1부터 반복하다가 짝수인 2가 if문의 조건을 만족하므로 break가 실행됨. 그러면 아예 for문(=for 루프) 자체를 벗어나므로 마지막 print('done!!')문까지만 실행되고, 다음 숫자로 넘어가지 않음.
  • break시에는 가장 가까운 '루프'를 종료함. 즉, 여기서 if문은 조건문일 뿐이므로 break와는 무관함.

 

2. 자료형 확인 

참고!!

 

3. 해설세션 

(1) 과제3

  • 변수명은 길더라도 알아보기 쉽게 쓰는 게 좋음 (ex.member_instance _짱구)
  • => 왜냐하면 시간이 지나서 보면, 내가 짠 코드도 왜 이렇게 짰지?..하니까!
  • filter(lambda)보다는 애초에 db에서 가져올 때부터 filter_by()와 count()를 활용하는 게 좋음.
  • => 후자_데이터가 아주아주 많아도 괜찮고, 서버가 터질 염려도 없기 때문.
  • => 전자는 리스트를 하나하나 가져와서 filter하는 방식임. 데이터가 1000개 정도라면 그렇게 해도 무방하지만, 데이터가 몇 만 단위가 넘어가면 그런 방식은 비효율적임
  • 2중for문_pass/continue/break 활용 => Post class의 객체 생성시.
  • html에서 파이썬 서버로부터 넘겨받은 데이터를 표시하는 것은_파이썬 문법은 아니고, flask가 쓰는 jinja의 문법임.
  • => 즉, 딕셔너리임에도 .으로 호출하는 등_파이썬 문법과는 다름.

(3) 과제4

  • html용어_thead와 tbody
  • => table head = th, table row = tr
  • => id값은 고유하고 특정되어야 함. 그 특징 때문에 primary key를 보통 id에 줌. 그래야 row가 특정가능함
  • primary key는 유일해야 하므로, 이것을 개발자 본인이 통제하긴 어려움
  • => sqldb 등 왠만한 db들은 다 id를 자동 생성(자동 증가)해줌.
  • class는 classification의 뜻. 즉, 같은 클래스 및 인스턴스 변수들을 가지는 것들을 분류하고, 카테고리한 것
  • => 이렇게 미리 규격화 해놨기 때문에_활용이 쉬운 것!!
posts = []
posts.append(Post(title = 'title1',content='a', author = 'aa' ))
posts.append(Post(title = 'title2',content='b', author = 'ab' ))
posts.append(Post(title = 'title3',content='c', author = 'ac' ))
posts.append(Post(title = 'title4',content='d', author = 'ad' ))
posts.append(Post(title = 'title5',content='e', author = 'ae' ))
# 객체 생성시_ key와 함께 넣어주면 알아보기 쉬움
# 이렇게 .append 할 수도 있음

 

for post in posts:
print(f'{post.title=}')
# 2문처럼 f-string 내애 {}와 =를 쓰면
# 터미널상의 출력물의 가독성이 더 좋음
for post in posts:
	if post.author == 'lee':
    	pass
# 2문이 가능한 이유도 이미 classification(=class 선언)이 되어있기 때문임
# 'author'라는 'key'가 있을 것임을 기대할 수 있기 때문.
# 즉, "~~속성(어트리뷰트)이 있어야 너를 class~로 인정한다"인 것!

'TIL' 카테고리의 다른 글

[TIL 2024. 03. 05]  (0) 2024.03.06
[TIL 2024. 03. 04]  (0) 2024.03.04
[TIL 2024. 02. 28]  (0) 2024.02.28
[TIL 2024. 02. 27]  (0) 2024.02.28
[TIL 2024. 02. 26]  (0) 2024.02.27