2022-09-27(T)

오늘 공부한 내용

  • 파이썬(모듈화 기본)
  • 안드로이드 생명주기
  • 프로젝트 준비(개발)

파이썬 모듈화 기본

사용한 툴 : PyCharm

가장 간단한 프로그램


# iX = 2
# iY = 3
#
# def assign(a, b):
#     global iX, iY
#     iY = a
#     iX = b
#
# x, y = map(int, input().split(" "))
#
# assign(x, y)
#
# def add():
#     return iX + iY
#
# print("Sum :", add())

class XXX:
    iX = 2
    iY = 3

    def assign(self, a, b):
        self.iX = a
        self.iY = b

    def add(self):
        return self.iX + self.iY


xxx = XXX()

x, y = map(int, input().split(" "))

xxx.assign(x, y)

print("Sum : ", xxx.add())

python 특징

  • 파이썬은 메인 함수가 없음
  • 들여쓰기를 하지 않은 모든 코드가 실행됨

모듈 이름(name) 출력해보기

print(__name__) 

=> 결과 : module.py

여기서 알 수 있는 특징

  • 파이썬 파일이 직접 실행되면, name 변수에는 ‘main‘값이 저장됨
  • 다른 곳에서 import되어 간접 실행되면, name 변수에는 파일명(가령 ‘module’)이 저장됨

my.py

import module

module.py

if __name__ = "__main__":
    print("직접 실행")
else:
    print("다른 곳에서 실행")
  1. module.py를 직접 실행하면?
  2. my.py에서 임포트하여 간접적으로 실행하면??

=> 결국, 직접 실행할 때에는 특정 코드가 실행되도록 하고, 다른 곳에서 import하여 실행할 때는 실행되지 않도록 할 수 있다.

(일반적으로)

조금 복잡한 프로그래밍

    iX = 2
    iY = 3
    iResult = iX + iY
    
    print("Sum = ", iResult)

변수란?

값을 담는 그릇

변수는 언제 자동으로 만들어질까???

값을 할당할 때

위의 코드를 추상화

def assign():
    iX = 2
    iY = 3
    
assign()

iResult = iX + iY

print("Sum = ", iResult)

추상화

  • 복잡한 내용을 묶어서 간단히 표현하는것
  • 예) 어제 뭐했니?? [대답]

코드 추상화

  • 복잡한 코드를 묶어서 간단히 표현하는 것
    • 예) 이부분 뭐하는 코드?? [assign, add]

전역변수 이용

iX = 0
iY = 0

def assign():
    global iX, iY
    iX = 2
    iY = 3
    
assign()

iResult = iX + iY

print("Sum = ", iResult)

전역변수 이용 : global 키워드 사용

global의 의미는??

-> 지역변수를 만들지 말고 전역변수를 이용하라 -> 예) 네 방 안에 화장실 만들지 말고 밖에 있는 공용 화장실 이용해라.