2024-12-19 TIL

오늘도 수준별 학습반에서 배운 내용을 토대로 TIL을 작성했습니다. 

리스트 컴프리헨션

  1. 기본 문법:
    • 리스트 컴프리헨션은 리스트를 간결하고 효율적으로 생성하는 방법입니다.
    • 예시:
      rlt = [each for each in num_range]  # num_range의 각 요소를 rlt에 담기
      rlt2 = [each*11 for each in range(1, 8)]  # 1부터 7까지 각 숫자에 11을 곱한 결과 리스트
      
  2. 딕셔너리 컴프리헨션:
    • dict에서 items() 메서드를 사용하여 키와 값을 동시에 순회할 수 있습니다.
    • 예시:
      food_list = {'중식': ['짜장면', '짬뽕']}
      for menu, dish in food_list.items():
          print(f'메뉴는 {menu}이고, 음식은 {dish}가 있습니다.')
      

함수

  1. 기본 함수:
    • return 없이 print()를 사용한 함수는 출력만 할 뿐 값을 반환하지 않음.
    • 예시:
      def my_func():
          print('bello!')
      my_func()  # 출력만
      
    • return을 사용하여 함수에서 값을 반환할 수 있음.
    • 예시:
      def my_func():
          print('bello!')
          return 10
      rlt = my_func()  # rlt에는 10이 저장
      print(rlt)
      
  2. 매개변수:
    • 위치 인자(Positional Argument): 매개변수를 순서대로 전달.
    • 키워드 인자(Keyword Argument): 매개변수를 이름을 명시하여 전달.
    • 예시:
      def display(name, age):
          print(f'{name}개발자 : 나이 {age}')
      display('이영주', 29)  # 위치 인자
      display(age=30, name='이영주')  # 키워드 인자
      
  3. 기본값 있는 매개변수:
    • 기본값을 설정하면 해당 인자를 생략할 수 있음.
    • 예시:
      def display(name, age, region='제주'):
          print(f'{name}개발자 : 나이 {age}, 지역 {region}')
      display('영주', 35)  # region은 기본값 '제주'
      
  4. 튜플 리턴:
    • 하나의 함수에서 여러 값을 반환할 수 있음.
    • 예시:
      def test(a, b):
          add_rlt = a + b
          sub_rlt = a - b
          return add_rlt, sub_rlt  # 튜플 반환
      rlt = test(10, 20)
      print(rlt)  # (30, -10)
      

스코프(Scope)

  1. 전역변수(Global Variable):
    • 함수 밖에서 정의된 변수는 전역변수로, 함수 안에서도 사용 가능.
    • 예시:
      a = 10  # 전역변수
      def test():
          print(a)  # 전역변수 사용
      test()
      
  2. 지역변수(Local Variable):
    • 함수 안에서 정의된 변수는 지역변수로, 해당 함수 내에서만 유효.
    • 예시:
      def test():
          b = 20  # 지역변수
          print(b)
      test()  # 20
      # print(b)  # NameError
      
  3. 중첩 함수(Enclosing Function):
    • 내부 함수는 바깥 함수의 지역변수를 사용할 수 있음.
    • 예시:
      def outer():
          a = 10
          def inner():
              print(a)  # outer 함수의 지역변수 a 사용
          inner()
      outer()  # 10
      
  4. 전역변수와 지역변수의 충돌:
    • 같은 이름의 변수는 전역과 지역에서 다르게 동작할 수 있음.
    • 예시:
      a = 10
      def outer():
          a = 99
          print(a)  # 99
      outer()
      print(a)  # 10
      

주의할 점

  • 내장 함수 이름 사용 피하기:
    • print와 같은 내장 함수의 이름을 변수로 사용하면 해당 함수는 더 이상 사용 불가.
    • 예시:
      print = 'test'
      print(print)  # 'test'가 출력됨
      

기타

  • 변수명 실수:
    • 변수를 정의할 때 오타나 잘못된 이름을 사용하는 실수를 피해야 함.
    • 실수로 변수 이름을 잘못 입력하는 경우 디버깅이 어려울 수 있음.

이 TIL에서는 리스트 컴프리헨션, 함수 사용법, 스코프 이해, 변수명 실수 등에 대해 학습했습니다. 복잡한 코드는 풀어서 작성하는 것이 가독성을 높이고, 함수 사용은 재사용성과 코드 유지보수에 유리함을 알게 되었습니다.

'내일배움캠프 TIL' 카테고리의 다른 글

2024.12.23TIL  (0) 2024.12.23
2022.12.20TIL  (1) 2024.12.20
2024.12.18TIL  (1) 2024.12.18
2024.12.17 TIL 그래프 시각화  (0) 2024.12.17
2024.12.16 TIL - 넘파이와 리스트의 차이  (0) 2024.12.16

+ Recent posts