💬 오늘의 공부시간


🔥 2주차 todo 리스트 (5/8~5/14)

파이썬 기초문풀4
파이썬 기초문풀5
파이썬 중급1
파이썬 중급2
파이썬 중급3
모듈
모듈제작
모듈사용
실행(메인)파일(01)
실행(메인)파일(02)
패키지
site-packages
파이썬 중급4
자주 사용하는 외부 모듈
객체지향 프로그래밍
클래스와 객체 생성
객체 속성 변경
객체와 메모리


파이썬 중급5~6
파이썬 중급7
파이썬 중급8~9
파이썬 중급문풀1~2
파이썬 중급문풀3
파이썬 중급문풀4


📝 weekly 데이터 사이언스 스쿨 퀴즈
📝 재복습weekly 데이터 사이언스 스쿨 퀴즈

💻 핵심 내용 정리

📝 모듈

  • 이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다.
  • 내부모듈, 외부모듈 그리고 사용자 모듈로 구분할 수 있다.

내부모듈
파이썬 설치시 기본적으로 사용할 수 있는 모듈
외부모듈
별도 설치 후 사용할 수 있는 모듈
사용자 모듈
사용자가 직접 만든 모듈

실습_01

ramdom 모듈을 이용해서 1부터 10까지의 정수 중 난수 1개를 발생시켜보자.

import random

rNum = random.randint(1, 10)
print(f'rNum: {rNum}')

실습_02

ramdom 모듈을 이용해서 1부터 100사이의 난수 10개를 발생시켜보자.

import random

rNums = random.sample(range(1, 101), 10)
print(f'rNum: {rNum}')

📝 모듈만들기

  • 특정 기능을 가지고 있는 파이썬 파일을 말한다.

실습_03

로또번호(6)를 출력하는 모듈을 만들어 보자.

`모듈파일`
import random

def getLottoNumbers():
	result = random.sample(range(1, 46), 6)
    
    return result

`실행파일`
import lottoMachine

lottoNumbers = lottoMachine.getLottoNumbers()
print(f'lottoNumbers: {lottoNumbers}')

📝 모듈 사용

import
import 키워드를 이용해서 모듈을 임포트 한다.

as
as 키워드를 이용해서 모듈 이름을 단축시킬수 있다.

from ~ as
from ~ as 키워드를 이용해서 모듈의 특정 기능만 사용할수 있다.

실습_04

국어, 영어, 수학점수를 입력하면, 총점 평군을 출력하는 모듈을 만들어보자.

`모듈파일`
scores = []

def addscore(s):
    scores.append(s)

def getScore():
    return scores

def getTotalScore():
    total = 0
    for s in scores:
        total += 0

    return total

def getAvgScore():
    avg = getTotalScore() / len(scores)

    return avg

'실행파일'

📝 실행파일 : 전역변수(기본변수)

  • _name_ 에는 모듈 이름이 저장되거나 _main_ 이 저장된다.

예시
addModule.py → name = 'addModule'
subModule.py → name = 'subModule'
mulModule.py → name = 'mulModule'
divModule.py → name = 'divModule'


module.py → name = 'main' # 실행파일


📝 패키지

  • 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리 할수 있다.
  • site-packages 에 있는 모듈은 어디서나 사용할 수 있다.
import sys

for path in sys.path:
    print(path)

📝 자주 사용하는 모듈

math 모듈 수학 관련 모듈
random 모듈 난수 관련 모듈
time 모듈 시간 관련 모듈


📝 객체 지향 프로그래밍

  • 객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다.
  • 객체는 클래스에서 생성된다.
    메모리에 생선된 개체를 내가 원하는 만큼 사용한다.
  • 코드 재사용, 모듈화에 좋다.
    언제든지 교체가 가능하다.

객체(Object) = 속성(Attribute) + 기능(Function)


📝 class(클래스)

  • 클래스는 class 키워드와 속성(변수) 그리고 기능(함수)를 이용해서 만든다.
  • 객체는 클래스의 생성자를 호출한다. _init_
  • 객체 속성은 변경할 수 있다.
  • 변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다.

📝 얕은 복사와 깊은 복사

얕은 복사
객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다.
깊은 복사
객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다.

📝 class(클래스) 상속

  • 클래스는 또 다른 클래스를 상속해서 내 것처럼 사용 할 수 있다.

📝 생성자

  • 객체가 생성 될때 생성자를 호출하면 _init_() 가 자동 호출된다.
  • _init_() 가 속성을 초기화 한다.
  • 상위클래스의 속성을 초기화 하기 위해서 super() 를 이용한다.

📝 다중상속

  • 2개 이상의 클래스를 상속하다.
    자주 사용하지 말자!!

📝 오버라이딩

  • 하위클래스에서 상위 클래스의 메서드를 재정의(override)한다.

📝 추상클래스

  • 상위클래스에서 하위클래스에 메서드 구현을 강요한다.

💡 오늘을 마무리하면서 ...

목감기는 나았지만 기침감기가 심해지고 있다.
체력적으로 버티기 점점 힘이들지만 강의는 열심히 이해할때까지 반복수강중이다.
나중에 더 나노단위로 쪼개서 봐야할것 같다.

😃 Busy Study _ 새벽반 PM 10:00 ~ AM 2:30

여러분 화이팅!! 우리 모두 다 잘 될거예요!

profile
늦깎이 DA/DS 취준생, 이곳은 스터디노트 겸 성장기록장(소통환영이요💜)

0개의 댓글