[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 25 회차 미션

2020. 11. 26. 21:58Coding/Python-Fastcampus

728x90

08. 모듈, 패키지 - 01. 모듈, 패키지(1)

음... 코딩만하다 끝남...

기존에 하나의 파일에서 클래스와 함수를 만든것과 다르게,

실행하는 코드와 다른 폴더에 있는 파일에서 클래스나 변수를 가져와서 활용하는 방법을 한다.

 

 

pkg라는 폴더를 만들고, 3개의 .py 파일을 만들었다.

 

 

 


08. 모듈, 패키지 - 02. 모듈, 패키지(2)

Class 사용.

/pkg/fibonacci.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Fibonacci:
    def __init__(self, title="fibonacci"):
        self.title = title
 
    def fib(n):
        a, b = 01
        while a < n:
            print(a, end=' ')
            a, b = b, a + b
        print()
 
    def fib2(n):
        result = []
        a, b = 01
        while a < n:
            result.append(a)
            a, b = b, a + b
        return result
 
cs

 

/section08.py

1
2
3
4
5
6
from pkg.fibonacci import Fibonacci as fb
 
fb.fib(300)
 
print('ex1 >>> ', fb.fib2(500))
print('ex2 >>> ', fb().title)
cs

from으로 파일에 접근하고, import로 class에 접근한다.

as로 별명을 정해서 해당 .py파일 안에서 편하게 쓸 수 있다.

Class Fibonacci의 title은 init에 있기 때문에 fb.title로는 접근이 안되고,

인스턴스화를 시켜줘야 init이 작동하기 때문에 fb().title로 접근해야 한다.

 

 


function 사용.

/pkg/calculations.py

1
2
3
4
5
6
7
8
9
10
11
def add(l, r):
    return l + r
 
 
def mul(l, r):
    return l * r
 
 
def div(l, r):
    return l / r
 
cs

 

/section08.py

1
2
3
import pkg.calculations as c
print('ex3 >>> ', c.add(3199))
print('ex3 >>> ', c.mul(3232))
cs

마찬가지로 as로 별명을 줘서 편하게 쓸 수 있다.

 

 

1
2
from pkg.calculations import div as d
print('ex3 >>> ', d(100,5))
cs

class때처럼 from을 이용해서 원하는 함수만 가져와서 사용도 가능하다.

 

 

 


단위실행.

prints.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def prt1():
    print("I'm NiceBoy!")
 
 
def prt2():
    print("I'm Goodboy!")
 
 
# 단위 실행(독립적으로 파일 실행)
if __name__ == "__main__":
    print("This is", dir())
    prt1()
    prt2()
 
cs

함수만 있는 파일이 문제 없는지 실행시켜보고 싶을때 사용하면 된다.

__name__이 '__main__'인 경우는 해당 파일이 실행됬을때 뿐이니, if코드를 붙여두면,

>python prints.py
를 할때만 실행되고, prints.py가 다른 곳에서 import되어 사용될때는 실행되지 않는다.

 

 

 


09. 파일 - 01. 파일 읽기, 파일 쓰기(1)

docs.python.org/3.9/library/functions.html#open

 

Built-in Functions — Python 3.9.0 documentation

Built-in Functions The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order. abs(x) Return the absolute value of a number. The argument may be an integer, a floating poin

docs.python.org

 

파일 읽고 쓰기의 기본 : close로 리소스 반환.

1
2
3
4
5
6
7
= open('./resource/review.txt''r')
content = f.read()
 
print(content)
print(dir(f))
 
f.close
cs

/resource/review.txt 파일 읽기

 

 

 


with를 사용해서 close안하기.

1
2
3
with open('./resource/review.txt''r'as f :
    content = f.read()
    print(content)
cs

with문을 사용하면 close를 안해도 자동으로 리소스를 반환한다.

 

 


한줄씩 가져오기.

1
2
3
with open('./resource/review.txt''r'as f :
    for c in f :
        print(c.strip(), "@@@")
cs

한줄씩 가져오는것을 '@@@'을 통해 알 수 있다.

 

 


read()사용 주의.

1
2
3
4
5
6
with open('./resource/review.txt''r'as f :
    for c in f :
        content = f.read()
        print('>>> ', content)
        content = f.read()
        print('>>> ', content)
cs

read()를 사용해서 한번은 잘 불러왔지만,

두번째는 아무것도 불러오지 못한다.

 

이미 f의 내용 끝까지 읽고, 끝 부분을 가르키고 있기 때문에 아무것도 가져올 수 없다.

 

 


readline()사용.

1
2
3
4
5
6
7
8
with open('./resource/review.txt''r'as f :
    line = f.readline()
    num = 0
 
    while line :
        num += 1
        print(num,"번째 줄 : ", line)
        line = f.readline()
cs

 

while문 안에서 .readline()을 사용하면 문장의 끝까지 한줄씩 계속 읽어온다.

그리고 문장 끝까지 읽게되면 더 이상 읽을게 없으므로 while문이 끝나게 된다.

 

 

 

올인원 패키지 : 파이썬 웹 개발👉https://bit.ly/33a7nvc

728x90