221115_TIL

이지섭·2022년 11월 15일

1. 오늘 한 것

  • 왕초보 SQL 강의 완강
    • DBeaver 프로그램 가볍고 보기좋고 상당히 괜찮은 것 같다… SQL 공부할때 잘 써먹어야지.
    • JOIN 익숙해질 때 까지 반복연습… 아직 헷갈린다.
  • 파이썬 문법강의
    • enumerate : 숫자를 붙여가며 리스트를 돈다.
      for i, person in enumerate(people):
      	name = person['name']
      	age = person['age']
      	print(i, name, age)
      	if 2 < i:
      		break
    • 튜플 : 리스트와 비슷하지만, 불변형이다. (괄호)로 묶어서 표현.
      • 리스트 속 딕셔너리를 튜플로 바꿔서 쓰기도 한다.
    • set : 집합. 순서 상관 없음.
      • a_set = set(a) # a는 리스트
        • a_set & b_set # 교집합
        • a_set | b_set # 합집합
        • a_set - b_set # 차집합
    • f-string : 자주 쓴다!
      for s in scores:
      	name = s['name']
      	score = str(s['score'])
      	print(f'{name}의 점수는 {score}점입니다.') # f를 넣으면 f-string으로 변함
    • 예외처리
      for person in people:
      	try: # 일단 실행하는데
      		if 20 < person['age']:
      			print(person['name']
      	except: # 에러가 나면 이걸 실행해라 
      		print('에러입니다.')
      • 너무 남용하면 코드 가독성도 떨어지고 무슨 에러가 나는지도 모르게 됨
        • 가급적 사용 자제
    • 파일 불러오기
      from main_func import * # main_func에 있는 함수들을 전부* 불러온다.
    • 삼항연산자
      result = ('짝수' if num % 2 == 0 else '홀수')
    • for문을 한줄로
      b_list = [a * 2 for a in a_list] # List Comprehsnsion
    • map, lambda식, filter
      def check_adult(person):
      	return ('성인' if 20 < person['age'] else '청소년')
      
      # map : people을 돌면서 check_adult하고, 그 return값으로 list를 만든다.
      result = map(check_adult, people)
      
      # lambda식 : 한줄짜리 함수를 뭐하러 만드냐, 그냥 lambda식 쓰자.
      # people을 돌면서 그 값을 x에 넣고, lambda식 동작결과로 list를 만든다.
      result = map(lambda x: ('성인' if 20 < x['age'] else '청소년'), people )
      
      # filter : map과 유사하지만, True인 것들만 뽑아오는 것.
      result = filter(lambda x: 20 < x['age'], people)
      
      print(list(result)) # list 씌워야 진짜 리스트 완성
    • 함수 심화(인자 다루기) - 직접 쓸 일은 거의 없고, 라이브러리를 갖다 쓰거나 뜯어볼 때 필요.
      def cal(a, b = 2): # b에 값이 안들어오면 2가 기본값
      	return a + 2 * b
      result = cal(b = 2, a = 1) # 매개변수 순서 맘대로 가능
      
      def cal(*args): # 변수를 리스트 형태로 무제한으로 받음
      	for name in args:
      		print(f'{name}야 밥먹어라~')
      
      # 라이브러리 등에서 많이 쓰임
      def cal(**kwargs): # 변수를 딕셔너리 형태로 무제한으로 받음
      	print(kwargs)
      cal(name = 'bob', age = 30, height = 100)
      
    • 클래스, 객체지향 :
      • 물체마다 관련된 속성을 넣어둔다.

      • 그것을 컨트롤 할 수 있는 함수도 만들어준다.

      • 중앙에서는 그 함수만 불러서 물체를 제어한다.

        class Monster():
        	hp = 100 # self.hp
        	alive = true
        
        	def damage(self, attack):
        		self.hp = self.hp - attack
        		if self.hp < 0:
        			self.alive = False
        
        	def status_check(self):
        		if self.alive:
        			print('살았다!')
        		else:
        			print('죽었다!')
        
        m1 = Monster() # 인스턴스 생성
        m1.damage(150)
        m1.status_check() # 죽었다!
        
        m1 = Monster()
        m1.damage(90)
        m1.status_check() # 살았다!
    • 파이썬의 문법은 방대하다!
      • 공부하듯 외우는게 아니라, 검색하며 찾아보는 실력을 기르는 것이 중요하다.

2. 취침 전 목표

  • 파이썬 문법강의 완강 # 완료

3. 내일 할 것

  • 알고리즘 타임어택
  • 왕초보 웹개발 완강
  • 알고리즘 4주차까지 수강완료하기

4. 느낀점

  • 책상정리를 하니 마음이 새로워졌다. 다시 열심히 집중해서 한번에 파이썬 완강!
    • 듀얼모니터를 주문했다. 앞으로 강의 듣기 더 편해질 것 같다.
  • 마크업 문서 만드는데는 노션이 최고다...
    • 노션 활용법도 공부해두면 쏠쏠하게 잘 써먹을 듯.

5. 메모

  • null
profile
Stop thinking. Just do it.

0개의 댓글