Python_기초문법5

Jingi·2024년 1월 18일

Python

목록 보기
5/32
post-thumbnail

1. 모듈

  • 개요

    • 과학자, 수학자가 모든 이론을 새로 만들거나 증명하지 않는 것처럼 개발자 또한 프로그램 전체를 모두 혼자 힘으로 작성하는 것은 드문 일
    • 다른 프로그래머가 이미 작성해 높은 수천, 수백만 줄의 코드를 사용하는 것은 생산성에서 매우 중요한 일
  • 한 파일로 묶인 변수와 함수의 모음

  • 특정한 기능을 하는 코드가 작성된 파이썬 파일(.py)

  • 예시

    • 파이썬의 math 모듈

    • 파이썬이 미리 작성해 둔 수학 관련 변수와 함수가 작성된 모듈

      # Case 1
      import math
      print(math.pi) # 3.141592653589793
      print(math.sqrt(4)) # 2.0
      # Case 2
      from math import pi,sqrt
      print(pi) # 3.141592
      print(sqrt(4)) # 2.0
  • 모듈 가져오기

    • 모듈 내 변수와 함수에 접근하려면 import 문이 필요
    • help(모듈)을 사용하면 모듈에 무엇이 들어있는지 확인 가능
  • 모듈 사용하기

    • '.(dot)'은 점의 왼쪽 객체에서 점의 오른쪽 이름을 찾아라 라는 의미의 연산자
  • 모듈 주의사항

    • 만약 서로 다른 모듈이 같은 이름의 함수를 제공할 경우 문제 발생

    • 마지막으로 import 된 이름으로 대체

      from math import pi, sqrt
      from my_mayh import sqrt
      # 그래소 모듈 내 모든 요소를 한번에 import 하는 * 표기는 권장하지 않음
      
      from math import *

2. 파이썬 표준 라이브러리

  • 파이썬 언어와 함께 제공되는 다양한 모듈과 패키지의 모음

  • 패키지
    - 관련된 모듈들을 하나의 디렉토리에 모아 놓은 것
    - 패키지 사용하기

      ```python
      # 패키지 3개 : my_package, math, statistics
      # 모듈 2개 : my_math, tools
    
      from my_package.math import my_math
      from my_package.statistics import tools
    
      print(my_math.add(1,2)) # 3
      print(tools.mod(1,2)) # 1
      ```
    
    - PSL 내부 패키지
      - 설치 없이 바로 import 하여 사용
    - 외부 패키지
      - pip를 사용하여 설치후 import 필요
      - 외부 패키지들을 설치하도록 도와주는 파이썬의 패키지 관리 시스템
    - 사용목적
      - 모듈들의 이름공간을 구분하여 충돌을 방지
      - 모듈들을 효율적으로 관리하고 재사용할 수 있도록 돕는 역할

    라이브러리 > 패키지 > 모듈

3. 제어문

  • 코드의 실행 흐름을 제어하는데 사용되는 구문
  • 조건에 따라 코드 블록을 실행하거나 반복적으로 코드를 실행

4. 조건문

  • 주어진 조건식을 평가하여 해당 조건이 참인 경우에만 코드 블록을 실행하거나 건너뜀
  • if / elif / else
    if 표현식:
      코드 블록
    elif 표현식:
      코드 블록
    else:
      코드 블록
  • 복수 조건문 예시
    • 조건식을 동시에 검사하는 것이 아니라 순차적으로 비교

5. 반복문

  • 주어진 코드 블록을 여러 번 반복해서 실행되는 구문

    • 특정 작업을 반복적으로 수행
    • 주어진 조건이 참인 동안 반복해서 실행
  • for / while

    • 파이썬 반복문에 사용되는 키워드
  • for

    • 임의의 시퀀스의 항목들을 그 시퀀스에 들어있는 순서대로 반복

    • 반복 횟수가 명확하게 정해져 있는 경우에 유용

    • 예를 들어 리스트, 튜플, 문자열
      등과 같은 시퀀스 형식의 데이터를 처리할 때

      for 변수 in 반복가능한 객체:
        코드 블록
    • 원리

      # 1. 리스트 내 첫 항목이 반복 변수에 할당되고 코드 블록이 실행
      # 2. 다음으로 반복 변수에 리스트의 2번째 항목이 할당되고 코드블록이 다시 실행
      # 3. ... 마지막으로 반복 변수에 리스트의 마지막 요소가 할당되고 코드 블록이 실행
      
      # Case 1
      items = ['apple', 'banana', 'cocount']
      for item in items:
        print(item)
      
      """
      apple
      banana
      cocount
      """
      # Case 2
      country = 'korea'
      for char in country:
        print(char)
      """
      k
      o
      r
      e
      a
      """
      # Case 3
      for char in range(5):
        print(char)
      """
      0
      1
      2
      3
      4
      """
      # Case 4
      my_dict = {
        'x' : 10,
        'y' : 20,
        'z' : 30,
      }
      for key in my_dict:
        print(key)
        print(my_dict[key])
      """
      x
      10
      y
      20
      z
      30
      """
      # Case 5 (중첩된 반복문)
      outers = ['A', 'B']
      inners = ['c', 'd']
      for outer in outers:
        for inner in inners:
          print(outer, inner)
      """
      A c
      A d
      B c
      B d
      """
      # Case 6 (중첩 리스트 순회)
      elements = [['A', 'B'],['c', 'd']]
      for elem in elements:
        print(elem)
      
      """
      ['A', 'B']
      ['c', 'd']
      """for elem in elements:
        for itme in elem:
          print(item)
      """
      A
      B
      c
      d
      """
  • 반복 가능한 객체(iterable)

    • 반복문에서 순회할 수 있는 객체
  • while

    • 주어진 조건식이 참인 동안 코드를 반복해서 실행

    • == 조건식이 거짓이 될때가지 반복

    • 반복 횟수가 불명확하거나 조건에 따라 반복을 종료해야 할 때 유용

    • 예를 들어 사용자의 입력을 받아서 특정 조건이 충족될 때까지 반복하는 경우

    • 기본 구조

      while 조건식:
        코드 블록
    • 예시

      # Case 1
      a = 0
      while a < 3:
        print(a)
        a += 1
      
      print('끝')
      """
      0
      1
      2
      끝
      """
    • while 문은 반드시 종료 조건이 필요

  • break

    • 반복을 즉시 중지
  • continue

    • 다음 반복으로 건너뜀

6. List Comprehension

  • 간결하고 효율적인 리스트 생성 방법

    [expression for 변수 in iterable]
    list(expression for 변수 in iterable)
  • 활용

    numbers = [1, 2, 3, 4, 5]
    squared_numbers = []
    
    for num in numbers:
      squared_numbers.append(num**2)
    print(squared_numbers) # [1, 4, 9, 16, 25]
    
    ↓ 
    
    numbers = [1, 2, 3, 4, 5]
    squared_numbers = [num**2 for num in numbers]
    print(squared_numbers) # [1, 4, 9, 16, 25]
  • 참고

    [expression for 변수 in iterable if 조건식]
    list(expression for 변수 in iterable if 조건식)

7. Pass

  • 아무런 동작도 수행하지 않고 넘어가는 역할

    • 문법적으로 문장이 필요하지만 프로그램 실행에는 영향을 주지 않아야 할 때 사용
  • 예시

    # Case 1
    # 코드 작성중 미완성 부분
    def my_function():
      pass
    
    # Case 2
    # 조건문에서 아무런 동작을 수행하지 않아야 할 때
    
    if condition:
      pass # 아무런 동작도 수행하지 않음
    else:
      # 다른 동작 수행
    
    # Case 3
    # 무한 루프에서 조건이 충족되지 않을 때 pass를 사용하여 루프를 계속 진행하는 방법
    while True:
      if condition:
        break
      elif condition:
        pass # 루프 계속 진행
      else :
        pritn('..')

8. enumerate(iterable, start = 0)

  • iterable 객체의 각 요소에 대해 인덱스와 함께 반환하는 내장함수

  • 예시

    fruits = ['apple', 'banana', 'cherry']
    for index, fruit in enumerate(fruits):
      print(f'인덱스 {index}: {fruit}')
    
    """
    인덱스 0: apple
    인덱스 1: banana
    인덱스 2 : cherry
    """
profile
데이터 분석에서 백엔드까지...

0개의 댓글