본문 바로가기
지속가능티끌/Python

Python. 다른 파이썬 파일의 함수 호출하기 . import, from import, import as

by i.got.it 2020. 3. 19.

 

개요 

- 파이썬 코딩시 1개의 파일에 모든 소스코드 구현해버리면 전체 코드 구조 가독성 훼손되어 유지보수 피곤해진다.  

- 분리가능한것들을 적절하게 별도의 파일에 구현하고 메인에서 해당 파일 import 하여 활용. 

 

######## 파일 1. bybit_function.py 

def my_function1():
    print("Hello Bybit");

##################################################################################

###### 파일 2. main.py 
import bybit_function    # 파일의 확장자 py 없이 임포트.  
bybit_function.my_function1() # bybit_function.py 의 함수 my_function1 호출.

###### import 하면서 다른이름으로 받기.
import bybit_function as bf    # bf 로 받았다. 
bf.my_function1() # bybit_function.py 의 함수 my_function1 호출.

###### import 하면서 특정함수 1개만 가져오는법. 
from bybit_function import my_function1
my_function1()   # bybit_function.py 의 함수 my_function1 호출.

###### import 하면서 모든함수 가져오는법. 
from bybit_function import *
my_function1()   # bybit_function.py 의 함수 my_function1 호출.


 

 

 

if __name__ = '__main__' :   관련  

 

- 앞의 코드 예에서 파일1 bybit_function.py 개발 과정중에 이 파일 1개만 실행시키면서 시험해볼 일이 당연히 생긴다. 

아래 코드 처럼 내가 만든 함수 시험 해보기 위하여 my_function1() 을 호출하는 구문 추가했다. 

######## 파일 1. bybit_function.py 

def my_function1():
    print("Hello Bybit");

// test
my_function1()

 

위와같이 bybit_function.py 만 실행할때야 시험용으로 호출해본 my_function1() 이 실행되는건 문제없지만, 

파일2에서 import bybit_function  에 의해서도 시험용으로 넣어뒀던 my_function1() 이 실행된다.  py 파일이 다른 곳에 import 되어 실행되지 않을때만 실행되게 하고 싶을 때  아래 코드 처럼  if 문을 추가해주면 된다. 

 


######## 파일 1. bybit_function.py 

def my_function1():
    print("Hello Bybit");

if __name__ == '__main__':
    // test
    my_function1()

 

 

 

 

연관

 

 

파이썬 . PYTHONPATH 환경변수 . import 검색 경로 추가

PYTHONPATH 추가 - 파이썬 전역적으로 적용되는 import 경로 설정. 추가방법. 윈도우10 : 제어판 -> 시스템 및 보안 -> 시스템 -> 왼쪽메뉴의 고급시스템 설정 클릭하여 뜬 창에서 버튼 "환경변수" 클릭

igotit.tistory.com

 

 

 

 

 


첫 등록 : 2020.03.19

최종 수정 : 2022.02.010

단축 주소 : https://igotit.tistory.com/2498

 

 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5