일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c# c#프로그래머스
- Unity
- 유니티상호작용
- unity3dservival
- unity3d
- c#기본문법
- c#문제
- c#코테
- c#코딩기초트레이닝
- 티스토리챌린지
- c#기초문법
- unity공부
- 스파르타코딩클럽
- Console.WriteLine
- c# 백준
- 유니티서바이벌게임만들기
- 유니티게임만들기
- C#문법
- unity3d게임만들기
- 시샵문법
- unity게임만들기
- 시샵
- 유니티
- 스파르타
- c#프로그래머스기초문법
- unity게임
- 오블완
- 유니티3dui
- 유니티공부
- c#
- Today
- Total
나 개발자 진짜 되냐?
5일차 파이썬 프로그래밍의 날개_모듈편 본문
어제 늦장 부려서 5일째가 넘어갔는데..
6일째로 써야할지..
클래스랑 이어지는 글이니 5일째로 써야 할지.. 난감한 상황..
겹치는 게 많아서 5일로 써본다!
모듈
함수나 클래스, 변수 같은 것들을 모아둔 것을 말한다.
다른 파이썬 프로그램에서도 쓸 수 있다는 특징이 있어서
파이썬 파일이라고 할 수 있다.
모듈을 만드는 방법?!
알아야지
def add ( a, b ) :
return a + b
def sub ( a , b ) :
return a - b
이런 함수만 담긴 파일을 저장한다.
나는 앞자를 따서 as.py라고 저장했다.
이 파일. py로 저장한 이것을 모듈이라고 한다.
이 모듈을 사용하려면
import라고 앞에 적어줘야 한다.
import as
print( as.add( 2, 8 ))
→ 10
이렇게 말이다.
. py라고 쓰지 않도록 주의하자
모듈 이름을 쓰지 않고 함수를 바로 쓰는 방법도 있다.
from as import add
add( 2 ,8 ) → 10
이렇게 from에 모듈명을 적어주고
import 뒤에 모듈 안에 있는 함수 이름을 적어주면
as. add라고 적어줄 필요가 없는 것이다.
둘 다 쓰고 싶다면
from as import add, sub
모듈 안에 있는 모든 함수를 다 쓰고 싶다면
from as import *
여기서 * 은 '전부 다'를 의미한다.
이런 모듈은 명령 프롬프트 (cmd창)에서도
사용할 수 있는데 거기서 사용되는 중요한 코드가 있어서 준비했다.
우리가 위에 적어 놨던 as.py를 가져와서 두문장 추가해본다.
def add ( a, b ) :
return a + b
def sub ( a , b ) :
return a - b
print( add( 2, 8 ))
print( sub( 8, 2 ))
이렇게 적고 cmd창에서 적어보면
print값이 잘 나온다.
하지만 우리가 함수만 사용해야 하는데
모듈을 실행시키면 print가 같이 나올 것이다.
그럴 때 print를 가리는 방법이 있다고 한다.
if __name__ == "__main__":
print( add( 2, 8 ))
print( sub( 8, 2 ))
이렇게 if __name__ == "__main__": 을 사용해주면
cmd창에서 파일을 직접 실행했을 땐
__name__ == "__main__" 이 값이 참이 되어
다음 문장이 수행되며
다른 파일에서 모듈을 부르는 import를 사용할 때는
__name__ == "__main__"식이 거짓이 되어
if문이 수행되지 않는다고 한다.
__name__?
파이썬 내부에서 사용하는 특별한 변수 이름
만약에 cmd창에 직접 치면 __ name __변수에는
__main__값이 저장된다고 한다.
하지만 import 값에다가 치면
__name__변수에는 모듈 이름값 as가 저장된다고 한다.
그래서 위처럼
if문을 통해서 import 하기 싫은 부분을 감출 수 있다.
모듈에 또 다른 친구도 넣을 수 있을까?
YES!
# cir.py
PIE = 3.1415 # 변수
class Math(): # 클래스
def circle ( self, r )
return PIE * (r ** 2)
def add (a, b): # 함수
return a + b
되는지 보자
import cir
# 변수
print(cir.PIE) → 3.1415
# 클래스
a = cir.Math()
print(a.circle(3)) → 28.2735
# 함수
print(cir.add(cir.PIE, 5) → 8.1415
이 함수, 클래스, 변수들이 어디서 왔는지 명확하게 적어줄 필요가 있다. cir.처럼!
모듈이 또 다른 모듈 데려오기
모듈이 모듈을 데리고 다닐 수 있다.
새로운 모듈을 만들어보자
#newmo. py
import cir
result = cir.add( 2 , 8 )
print(result)
이렇게 모듈 안에 import 해서 모듈을 쓸 수 있다.
대신 이 두 개의 모듈은 같은 디렉터리에 있어야 한다.
사실 이 뒤에도
모듈을 가져오는 방법이 있지만..
진짜 얼마나 쓸려나 싶어서 그냥 안 썼다 히킼..
괜찮겠지......
끗!
'파이썬을 시작했어요!' 카테고리의 다른 글
6일차 파이썬 프로그래밍의 날개_내장함수편1 A부터 L까지 (2) | 2022.12.22 |
---|---|
5일차 파이썬 프로그래밍의 날개_오류 및 예외처리편 (0) | 2022.12.17 |
5일차 파이썬 프로그래밍의 날개_클래스편2(생성자, 상속) (0) | 2022.12.17 |
5일차 파이썬 프로그래밍의 날개_클래스편1 (2) | 2022.12.16 |
4일차 파이썬 프로그래밍 입력과출력_입출력편 (0) | 2022.12.15 |