1. 책 DB를 넣어주세요.
2. 나의 스터디 흔적을 사진으로 보여주세요.

3. 이번 스터디에서 특별히 좋았던 점이나 어려웠던 점이 있었나요? 새로 알게된 부분이 있다면 알려주세요.
1) 클래스
용어 정리
클래스
|
틀
|
객체
|
클래스(틀)로 찍어낸 것
|
클래스변수
|
클래스 안에 선언된 변수. 클래스 변수는 모든 객체에 공유된다.
|
객체변수
|
객체에 생성되는 객체만의 변수
|
메서드
|
클래스 안에 구현된 함수
|
생성자(Constructor)
|
객체가 생성될 때 자동으로 호출되는 메서드 → 메서드 이름을 '__init__'으로 작성
|
상속
|
어떤 클래스를 만들 때 다른 클래스의 기능을 물려받는 것 → 'class 클래스명(상속받을 클래스명):'
|
오버라이딩(덮어쓰기)
|
부모 클래스에 있는 메서드를 동일한 이름으로 다시 만드는 것
|
- 메서드의 첫 매개변수 self에는 메서드를 호출한 객체가 자동으로 전달된다.
- '클래스이름.메서드'와 같이 클래스를 통해 메서드를 호출하는 것도 가능한데, 이때 메서드의 첫 매개변수 self에 객체를 반드시 명시해야한다.
* type 함수 : 파이썬 내장 함수로, 객체 타입을 반환한다.
* id 함수 : 파이썬 내장 함수로, 객체의 주소를 반환한다.
* 파이썬에서 거듭제곱을 표현할 때는 '**' 연산자를 사용한다 (ex. 2 ** 3 → 8)
2) 모듈
모듈
- 함수 / 변수 / 클래스를 모아 놓은 파일
- 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일
- 확장자 .py로 만든 모든 파이썬 파일
import
- 'import 모듈명' → '모듈명.함수명()'
- 'from 모듈명 import 모듈함수' → '함수명()'
- 파이썬 모듈을 사용할 수 있게 해준다.
- 현재 디렉터리에 있는 모듈 또는, 파이썬 라이브러리에 있는 모듈만을 불러올 수 있다.
- 모듈을 저장한 디렉터리로 이동하지 않고 모듈을 불러와서 사용하는 방법은 p.213 참고
__name__
- 'module.py' 라는 파일이 있다고 가정하자.
- 'module.py'의 __name__ 변수에는
1) 직접 'module.py' 파일을 실행했을 경우 → '__main__'이 저장된다.
2) 파이썬 셸이나 다른 파이썬 모듈에서 'module.py'를 import 했을 경우 → 모듈이름인 'module'이 저장된다.
- module.py 파일 내에서만 실행시키고 싶은 문장은 'if __name__ == "__main__":'문 안에 집어넣으면 된다.
3) 패키지
패키지
- 모듈을 계층적 구조로 관리해주는 디렉터리
__init__.py
- 이 파일이 들어있는 디렉터리는 단순 디렉터리가 아닌 패키지의 일부임을 의미한다.
- 특정 디렉터리의 모듈을 *를 이용해 import할 때에는, 해당 디렉터레의 __init__.py 파일에 __all__ 변수를 설정하고 import할 수 있는 모듈을 정의해 주어야 한다. (p.219)
relative한 접근자
- 모듈 안에서만 사용해야한다. (인터프리터에서 사용하면 오류 발생)
- 종류
..
|
.
|
부모 디렉터리
|
현재 디렉터리
|
4) 내장 함수
- import가 필요없다.
- 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리 안에 들어있다.
- 아무런 설정 없이 바로 사용할 수 있다.
종류
내장 함수
|
기능
|
abs(x)
|
숫자 x의 절댓값 반환
|
all(x)
|
반복 가능한 자료형 x의 인수들이 모두 true이면 true 반환
|
any(x)
|
x 중 하나라도 true이면 true 반환
|
chr(x)
|
아스키 코드 값 x에 해당하는 문자를 반환
|
dir(x)
|
x와 관련된 변수나 함수를 보여줌
|
divmod(x, y)
|
x를 y로 나눈 몫(//)과 나머지(%)를 튜플로 반환
|
enumerate(x)
|
순서가 있는 자료형 x를 입력받아 인덱스 값을 포함하는 enumerate 객체로 반환
for문과 함께 자주 사용됨
|
eval(x)
|
실행 가능한 문자열 x를 입력으로 받아 문자열을 실행한 결괏값을 반환
|
filter(x, y)
|
x에는 함수 이름, y에는 반복 가능한 자료형 변수를 입력
y가 함수 x에 입력됐을 때 반환 값이 참인 것만 걸러내서 반환
|
hex(x)
|
정수 x를 16진수로 변환하여 반환
|
id(x)
|
객체 x의 고유 주소 값을 반환
|
input([x])
|
사용자 입력을 받음
문자열 x를 입력하면 그 문자열은 프롬프트가 됨
|
int(x, [y])
|
문자열 형태의 숫자 또는 소수점이 있는 숫자 등을 입력받아 정수로 변환하여 반환
int(x, y)는 y 진수로 표현된 문자열 x를 10진수로 변환하여 반환
|
isinstance(x, y)
|
x는 인스턴스, y는 클래스 이름을 받음
x가 y의 인스턴스가 맞으면 true를 반환
|
len(x)
|
x의 길이(요소의 전체 개수)를 반환
|
list(x)
|
반복 가능한 자료형 x를 입력받아 리스트로 만들어 반환
|
map(x, y)
|
x에는 함수, y에는 반복 가능한 자료형을 입력
자료형 y를 함수 x에 대입하여 수행한 결과를 묶어서 반환
|
max(x)
|
반복 가능한 자료형 x에서 최댓값을 찾아 반환
|
min(x)
|
반복 가능한 자료형 x에서 최솟값을 찾아 반환
|
oct(x)
|
정수 x를 8진수 문자열로 변환해 반환
|
open(x, [y])
|
파일 이름 x와 읽기 방법 y를 입력받아 파일 객체를 반환
|
ord(x)
|
문자 x의 아스키 코드 값을 반환
|
pow(x, y)
|
x의 y제곱한 결괏값을 반환
|
range([x], y, [z])
|
인수가 1개일 경우 - 0부터 y까지의 수 중 y를 제외한 숫자들을 반복 가능한 객체로 반환 (증감값은 +1)
인수가 2개일 경우 - x부터 y까지의 수 중 y를 제외한 숫자들을 반복 가능한 객체로 반환 (증감값은 +1)
인수가 3개일 경우 - x부터 y까지의 수 중 y를 제외한 숫자들을 반복 가능한 객체로 반환 (증감값은 z)
|
round(x, [y])
|
숫자 x를 소수점 y자리까지 반올림하여 반환
|
sorted(x)
|
반복 가능한 자료형 x를 정렬한 후 그 결과를 리스트로 반환
* 리스트 자료형의 sort 함수는 리스트 객체 그 자체를 정렬만 할 뿐, 정렬한 결과를 반환하지 않음
|
str(x)
|
x를 문자열 자료형으로 변환하여 반환
|
sum(x)
|
리스트 또는 튜플 x의 모든 요소의 합을 반환
|
tuple(x)
|
반복 가능한 자료형 x를 입력받아 튜플 자료형으로 바꾸어 반환
|
type(x)
|
x의 자료형이 무엇인지 알려줌
|
zip(*x)
|
반복 가능한 자료형 x를 여러 개 입력받음
동일한 개수로 이루어진 자료형들을 묶어서 반환
|
* 반복 가능한 자료형
- for문으로 그 값을 출력할 수 있는 것을 의미
- 리스트, 튜플, 문자열, 딕셔너리, 집합 등
5) 라이브러리
자주 사용되는 라이브러리들
라이브러리
|
함수
|
||
sys
|
파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
|
sys.argv
|
명령 행에서 인수 전달하기
|
sys.exit()
|
강제로 스크립트 종료하기
|
||
sys.path
|
자신이 만든 모듈 불러와 사용하기
|
||
pickle
|
객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 해주는 모듈
|
pickle.dump()
|
객체 형태를 유지하면서 파일 저장
|
pickle.load()
|
객체 형태를 유지하면서 파일 불러오기
|
||
OS
|
환경 변수, 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈
|
os.environ
|
현재 시스템의 환경 변수 값을 보여줌
|
os.chdir()
|
디렉터리 위치 변경
|
||
os.getcwd()
|
현재 디렉터리의 위치를 반환
|
||
os.system()
|
시스템 명령어 호출
|
||
os.popen()
|
실행한 명령어의 결괏값 돌려받기
|
||
shutil
|
파일을 복사해주는 모듈
|
shutil.copy()
|
파일 복사
|
glob
|
특정 디렉터리에 있는 파일 이름 모두를 알아야 할 때 사용하는 모듈
|
glob.glob()
|
디렉터리에 있는 파일들을 리스트로 만들기
|
tmpfile
|
파일을 임시로 만들어서 사용해야할 때 사용하는 모듈
|
tempfile.mkstemp()
|
중복되지 않는 임시 파일 이름을 무작위로 생성
|
tempfile.TemporaryFile()
|
임시 저장 공간으로 사용할 파일 객체를 반환
|
||
time
|
시간과 관련된 함수를 많이 가지고 있는 모듈
|
time.time()
|
현재 시간을 실수 값으로 반환
|
time.localtime()
|
time()의 실수 값을 년, 월, 일... 형태의 튜플로 변환
|
||
time.asctime()
|
localtime()의 튜플을 알아보기 쉬운 형태로 반환
|
||
time.ctime()
|
time.asctime(time.localtime(time.time()))
|
||
time.strftime()
|
시간과 관계된 것을 세밀하게 표현하는 여러 가지 포맷 코드를 제공
|
||
time.sleep()
|
일정 시간 간격을 두고 루프를 실행
|
||
calendar
|
달력을 볼 수 있게 해주는 모듈
|
calendar.calendar(연도)
|
그 해의 전체 달력을 볼 수 있음
|
calendar.prcal(연도)
|
위 함수와 같은 결과
|
||
calendar.weekday()
|
그 날짜에 해당하는 요일을 반환
|
||
calendar.monthrange()
|
입력받은 달의 1일이 무슨 요일인지와 그 달이 며칠까지 있는지를 튜플로 반환
|
||
random
|
난수를 발생시키는 모듈
|
random.random()
|
0.0과 1.0 사이의 실수 중에서 난수 생성
|
random.randint()
|
정수 난수 생성
|
||
random.choice()
|
입력 받은 리스트에서 무작위로 하나 골라 반환
|
||
random.shuffle()
|
입력 받은 리스트의 항목들을 무작위로 섞어줌
|
||
webbrowser
|
내 시스템에서의 기본 웹 브라우저를 자동으로 실행시켜주는 모듈
|
webbrowser.open()
|
웹 브라우저를 자동으로 실행하고 입력한 URL로 접속
|
webbrowser.open_new()
|
웹 브라우저가 이미 실행된 상태라도 새로운 창으로 해당 주소가 열림
|
||
threading
|
스레드를 다루는 모듈
|
threading.Thread()
|
이 함수로 만든 스레드 객체는 동시 작업을 가능하게 해줌
|
4. 열심히 실습한 코드를 저장해 첨부해 주시거나 자랑할만한 스크린샷이 있다면 올려주세요.

'etc. > Do it! 공부단' 카테고리의 다른 글
Do it! 점프 투 파이썬 / 07단원 정규 표현식 (0) | 2022.04.20 |
---|---|
Do it! 점프 투 파이썬 / 06단원 파이썬 프로그래밍 어떻게 시작해야 할까? (0) | 2022.04.20 |
Do it! 점프 투 파이썬 / 04단원 프로그램의 입력과 출력은 어떻게 해야 할까? (0) | 2022.04.18 |
Do it! 점프 투 파이썬 / 03단원 프로그램의 구조를 쌓는다! 제어문 (0) | 2022.04.17 |
Do it! 점프 투 파이썬 / 02단원 파이썬 프로그래밍의 기초, 자료형 (0) | 2022.04.16 |