2022-09-27(화요일)
수업시간(인공지능)에 배운 내용
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("다른 곳에서 실행")
- module.py를 직접 실행하면?
- 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의 의미는??
-> 지역변수를 만들지 말고 전역변수를 이용하라 -> 예) 네 방 안에 화장실 만들지 말고 밖에 있는 공용 화장실 이용해라.