본문 바로가기

python

class - 다른 모듈에서 import해서 사용하기

class

 

class4

추후의 참조할 class를 생성했다.

# class : 새로운 타입을 생성
print('가수 관련 클래스')

class SingerType:
    title_song = '화이팅 코리아'
    
    def sing(self):
        msg = '노래는 '
        print(msg, self.title_song + ' 랄랄라 ~~')

 

class4_1

# 가수 한 명을 탄생

# import pack2.class4
from pack2.class4 import SingerType

def process():
    # youngwoung = pack2.class4.SingerType()
    youngwoung = SingerType()
    print('영웅의 타이틀 송 : ', youngwoung.title_song)
    youngwoung.sing()

def process2():
    bts = SingerType()
    bts.sing()
    bts.title_song = '최고의 순간은 아직'
    bts.sing()
    bts.co = "HIVE"
    print('소속사 : ', bts.co)
    blackpink = SingerType()
    blackpink.sing()
    blackpink.title_song = '셧다운'
    blackpink.sing()
    # print('소속사 : ', blackpink.co)  #error
    
    

# 가능하지만 가독성이 낮다
# process()

# main 모듈인 것을 가독성 높게 표현할 수 있다.
if __name__ == '__main__':
    process()
    process2()

 

타 모듈의 class를 임폴트하는 두가지 방법이다. 임폴트하면 해당 class의 필드가 실행된다.

import pack2.class4
from pack2.class4 import SingerType

예시에서는 class4의 print('가수 관련 클래스')가 실행된다.

 

 

함수 안에서 타 모듈, 클래스 타입의 객체를 생성해서 활용하는 방법

def process():
    # youngwoung = pack2.class4.SingerType()
    youngwoung = SingerType()
    print('영웅의 타이틀 송 : ', youngwoung.title_song)
    youngwoung.sing()

 

 

 

함수를 실행할때 두가지 방법

두가지 방법이 가능하지만 아래 코드는 main 모듈인 것은 표시할 수 있어 가독성이 높다는 장점이 있다.

# 가능하지만 가독성이 낮다
# process()
# process2()

# main 모듈인 것을 가독성 높게 표현할 수 있다.
if __name__ == '__main__':
    process()
    process2()

'python' 카테고리의 다른 글

class - 포함관계 예제 (냉장고에 음식 담기)  (0) 2022.10.07
class - 자원의 재활용  (1) 2022.10.07
class - 참조 및 콜 위치  (0) 2022.10.07
class - 객체 생성, 객체 변수, method  (0) 2022.10.07
class - 개요  (0) 2022.10.07