[제로베이스_데이터 취업 스쿨 16기] 4일차(6/6)

jumee·2023년 6월 7일
0
post-thumbnail

앞서 파이썬의 기본적인 문법 단계인 반복문과 조건문까지 학습했다.
이번에는 파이썬의 중급 문법들을 다뤄보면서 [모듈, 패키지, 클래스, 객체 지향의 개념] 까지 학습한 내용들을 정리했다.

1. 모듈 및 패키지


대표적인 모듈들

파이썬에서 대표적으로 많이 활용하는 모듈에는 random , math, time 모듈이 있다.

math 모듈

  • fabs() : 절댓값
    import math
    print(math.fabs(-10))
  • ceil() : 올림

    math.ceil(5.21) # -> 6
    math.ceil(-5.21) # -> -5
  • floor() : 내림

    math.floor(5.21) # -> 5
    math.floor(-5.21) # -> -6
  • trunc() : 버림

    math.trunc(5.21) # -> 5
    math.trunc(-5.21) # -> -5
  • gcd() : 최대공약수

    math.gcd(14,21) # -> 7
  • factorial() : 팩토리얼

    math.factorial(10) # -> 10!
  • sqrt() : 제곱근
    math.sqrt(4) # -> 2

time 모듈

  • localtime() : 현재 로컬 시간을 반환
    import time
    
    time.localtime() # -> time.struct_time(tm_year, tm_mon, tm_mday,...)
    
    # year 만 출력
    lt = time.localtime()
    lt.tm_year
    # month 만 출력
    lt.tm_mon
    # day만 출력
    lt.tm_mday
    # hour 만 출력
    lt.tm_hour
    # min
    lt.tm_min
    # sec
    lt.tm_sec
    # 요일
    lt.tm_wday 

random 모듈

  • random() : 0 ~ 1 사이의 아무 난수를 무작위 출력
    import random
    
    random.random()
  • randrange(start,stop,step) : 특정 범위에서 정수를 무작위 출력
    random.randrange(1,7) # 1 ~ 6의 범위에서 무작위 정수 출력
  • shuffle() : 특정 시퀀스 변수를 무작위 순서로 섞어준다
    abc = ['a', 'b', 'c', 'd', 'e']
    random.shuffle(abc)
    # ['a', 'd', 'e', 'b', 'c']
  • choice() : 아무 원소를 뽑아준다
    random.choice(abc)
    # 'a'
    
    random.choice('abcdefghijk')
    # 'c'
  • uniform() : 두 범위에서 임의의 실수 출력
    random.uniform(1,10)
    # 1.1800146073117523
  • randint() : 두 범위에서 임의의 정수 출력(마지막 범위에 있는 숫자도 포함한다) ↔ randrange()
    random.randint(1,10) # 1~10까지의 범위에서 임의의 정수 출력
    # 7
  • sample() : 랜덤하게 여러 개의 원소를 선택
    random.sample([1,2,3,4,5], 3) # 3개의 원소를 선택
    # [4,1,5]

모듈이 뭔지?

모듈은 그냥 '파일'라고 생각하면 된다. 파일에도 '현재 실행하고 있는 파일' 과 그렇지 않은 파일로 나뉠 수가 있다.

[모듈을 불러오는 방법]

  • 기본 사용법
    import 파일이름 as 파일별명
    으로 불러올 수 있다.
  • 특정 기능(함수)만 불러올 때
    from 파일이름 import 함수이름
  • 모든 기능(모든 함수)를 다 불러올 때
    from 파일이름 import *

[실행 파일과 모듈 파일의 구분]

실행 파일과 다른 모듈 파일들을 파이썬은 어떻게 구분할까?

__name__

이라는 전역변수로 구분할 수 있다. 파이썬은 알아서 파일을 만들 때 이 전역변수를 만들어준다.
즉, 메인 실행 파일에는

__name__ = '__main__'

이라고 저장되고, 반대로 다른 모듈 파일에는 해당 모듈 파일의 이름이 저장된다.

__name__ = '모듈파일이름'

패키지

패키지는 말 그대로 디렉토리다. 디렉토리 안에 관련 있는 모듈들(파일들)을 넣어두면 편하게 관리할 수 있다.

따라서, 모듈 이름(파일 이름)이 같다하더라도 디렉토리가 다르다면 독립적으로 관리할 수 있다.

다른 패키지(디렉토리)의 모듈을 가져와서 사용할 수 있을까?

원래는 불가하다. 하지만 site-packages 디렉토리에 있는 모듈들어떤 디렉토리에 있다 하더라도 사용할 수 있다.

❓site-packages 의 위치는❓
venv 디렉토리 밑에 있다.

즉, 어떤 패키지를 만든 뒤에, 다른 디렉토리에서 범용적으로 사용하고 싶다면 해당 패키지 오른쪽 클릭 -> Refactor -> Move Directory -> site-packages 로 파일을 옮겨주도록 하자.


객체지향 프로그래밍과 클래스 🔜

다음 파트에는 객체지향 프로그래밍이 뭐고, 클래스를 다루는 방법에 대해서 살펴보도록 하겠다. ☕️

profile
공부한 내용들에 대해 끄적이는 공간입니다💎

1개의 댓글

comment-user-thumbnail
2023년 6월 7일

Thanks for the information... mybkexperience

답글 달기