문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
wiki:ai:python:모듈과_패키지 [2020/06/25 15:09] hylee 만듦 |
wiki:ai:python:모듈과_패키지 [2023/01/13 18:44] (현재) |
||
|---|---|---|---|
| 줄 11: | 줄 11: | ||
| > 현재 진행중인 프로젝트 안에 참조할 파일을 만든 뒤 진행하시면 됩니다. | > 현재 진행중인 프로젝트 안에 참조할 파일을 만든 뒤 진행하시면 됩니다. | ||
| ==== 준비 사항 ==== | ==== 준비 사항 ==== | ||
| + | === 패키지 폴더와 파일 만들기 === | ||
| {{: | {{: | ||
| - | === 준비 사항 | + | ==== 파일 내용 |
| + | === calculations.py === | ||
| + | <code python> | ||
| + | def add(l,r): | ||
| + | return l + r | ||
| + | |||
| + | def mul(l,r): | ||
| + | return l - r | ||
| + | |||
| + | def div(l,r): | ||
| + | return l/r | ||
| + | </ | ||
| + | === fibonacci.py === | ||
| + | <code python> | ||
| + | class Fibonacci: | ||
| + | def __init__(self, | ||
| + | self.title = title | ||
| + | |||
| + | def fib(n): | ||
| + | a, b = 0, 1 | ||
| + | while a < n: | ||
| + | print(a, end=' ') | ||
| + | a, b = b, a + b | ||
| + | print() | ||
| + | |||
| + | def fib2(n): | ||
| + | result = [] | ||
| + | a, b = 0, 1 | ||
| + | while a < n: | ||
| + | result.append(a) | ||
| + | a, b = b, a + b | ||
| + | return result | ||
| + | |||
| + | </ | ||
| + | === prints.py === | ||
| + | <code python> | ||
| + | def prt1(): | ||
| + | print(" | ||
| + | |||
| + | def prt2(): | ||
| + | print(" | ||
| + | |||
| + | |||
| + | # 단위 실행 ( 독립적으로 파일 실행 ) | ||
| + | # 이 파일이 잘 되어있는지 실행할수 있다. | ||
| + | if __name__ == " | ||
| + | prt1() | ||
| + | prt2() | ||
| + | </ | ||
| 줄 18: | 줄 67: | ||
| ==== 예제 코드 ==== | ==== 예제 코드 ==== | ||
| <code python> | <code python> | ||
| + | # Section08 | ||
| + | # 파이썬 모듈과 패키지 | ||
| + | |||
| + | # 패키지 예제1 | ||
| + | # 상대 경로 패키지 | ||
| + | # .. : 부모 디렉토리 | ||
| + | # . : 현재 디렉토리 | ||
| + | |||
| + | # 사용1(클래스) | ||
| + | print("# | ||
| + | from pkg.fibonacci import Fibonacci | ||
| + | |||
| + | Fibonacci.fib(100) | ||
| + | |||
| + | print(" | ||
| + | print(" | ||
| + | print() | ||
| + | |||
| + | |||
| + | # 사용2(클래스) | ||
| + | print("# | ||
| + | from pkg.fibonacci import * | ||
| + | |||
| + | Fibonacci.fib(300) | ||
| + | |||
| + | print(" | ||
| + | print(" | ||
| + | print() | ||
| + | |||
| + | |||
| + | # 사용3(클래스) | ||
| + | print("# | ||
| + | from pkg.fibonacci import Fibonacci as fb | ||
| + | |||
| + | fb.fib(500) | ||
| + | |||
| + | print(" | ||
| + | print(" | ||
| + | print() | ||
| + | |||
| + | |||
| + | # 사용4(함수) : 파일 Alias | ||
| + | print("# | ||
| + | import pkg.calculations as c | ||
| + | |||
| + | print(" | ||
| + | print(" | ||
| + | print() | ||
| + | |||
| + | |||
| + | # 사용5(함수) | ||
| + | print("# | ||
| + | from pkg.calculations import div as d | ||
| + | |||
| + | print(" | ||
| + | print() | ||
| + | |||
| + | # 사용6 | ||
| + | print("# | ||
| + | import pkg.prints as p | ||
| + | import builtins # builtins는 기본으로 import 되어 있다. | ||
| + | |||
| + | p.prt1() | ||
| + | p.prt2() | ||
| + | print(dir(p)) | ||
| + | print(dir(builtins)) | ||
| + | print() | ||
| 줄 25: | 줄 141: | ||
| ==== 실행 콘솔 ==== | ==== 실행 콘솔 ==== | ||
| <code console> | <code console> | ||
| + | #==== 클래스 사용 예제 1 ==== | ||
| + | 0 1 1 2 3 5 8 13 21 34 55 89 | ||
| + | ex1 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144] | ||
| + | ex1 : fibonacci | ||
| + | |||
| + | #==== 클래스 사용 예제 2 ==== | ||
| + | 0 1 1 2 3 5 8 13 21 34 55 89 144 233 | ||
| + | ex2 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] | ||
| + | ex2 : fibonacci | ||
| + | |||
| + | #==== 클래스 사용 예제 3 ==== | ||
| + | 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 | ||
| + | ex3 : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] | ||
| + | ex3 : fibonacci | ||
| + | |||
| + | #==== import 함수 사용 예제 1 ==== | ||
| + | ex4 : 20 | ||
| + | ex4 : 6 | ||
| + | |||
| + | #==== import 함수 사용 예제 2 ==== | ||
| + | ex5 : 10 | ||
| + | |||
| + | #==== import 함수 사용 예제 3 ==== | ||
| + | I'm Niceboy! | ||
| + | I'm Goodboy! | ||
| + | [' | ||
| + | [' | ||
| + | ' | ||