전역 변수 : 함수 밖에 선언된 변수
ㄴ 어디에서나 사용 가능하지만 함수 안에서 수정할 수는 X
지역 변수 : 함수 안에 선언된 변수
ㄴ 함수 안에서만 사용 가능
# 전역변수
num_out = 10
def printnNumbers() :
print(f'num_out : {num_out}')
printnNumbers()
print(f'num_out : {num_out}')
num_out = 10
def printnNumbers() :
num_out = 20
print(f'num_out = {num_out}')
printnNumbers()
print(f'num_out : {num_out}')
# 지역변수
def printNumbers() :
num_in = 20
print(f'num_in : {num_in}')
printNumbers()
def printNumbers() :
num_in = 20
print(f'num_in : {num_in}')
print(f'num_in : {num_in}') # error 뜸
ㄴ 함수 안에서도 전역 변수의 값을 수정할 수 있다.
# global 키워드
num_out = 10
def printNumbers() :
global num_out
num_out = 20
print(f'num_out : {num_out}')
printNumbers()
print(f'num_out : {num_out}')
# lambda 키워드
def calculator(n1,n2) :
return n1 + n2
returnValue = calculator(10,20)
print(f'returnValue : {returnValue}')
calculator = lambda n1,n2 : n1 + n2
returnValue = calculator(10,20)
print(f'returnValue : {returnValue}')
name에는 "모듈 이름" 혹은 "메인 실행" 파일이 저장된다.
'_name__'을 이용하면 내가 호출해서 필요한 기능만 정확하게 실행_이 되고 그렇지 않은 기능들은 자동적으로 실행되지 않는다.
여러 파일을 만들어두고 필요한 모듈만 갖다쓸 때, 자동 실행되는 기능을 막아야 함
따라서 이 파일이 실행 파일일 때만 실행하고, 그렇지 않을 때는 실행하지 않도록 설정
# unitConversion.py
def cmToMm(n):
return round(n * 10, 3)
def cmToInch(n):
return round(n * 0.393, 3)
def cmToM(n):
return round(n * 0.01, 3)
def cmToFt(n):
return round(n * 0.032, 3)
'''
if __name__ == '__main__':
print(f'10cm: {cmToMm(10)}mm')
print(f'10cm: {cmToInch(10)}inch')
print(f'10cm: {cmToM(10)}m')
print(f'10cm: {cmToFt(10)}ft')
'''
print(f'10cm: {cmToMm(10)}mm')
print(f'10cm: {cmToInch(10)}inch')
print(f'10cm: {cmToM(10)}m')
print(f'10cm: {cmToFt(10)}ft')
# module.py
import unitConversion as uc
if __name__ == '__main__':
inputNumber = int(input('길이(cm) 입력: '))
returnValue = uc.cmToMm(inputNumber)
print(f'{inputNumber}cm : {returnValue}mm')
returnValue = uc.cmToInch(inputNumber)
print(f'{inputNumber}cm : {returnValue}inch')
returnValue = uc.cmToM(inputNumber)
print(f'{inputNumber}cm : {returnValue}m')
returnValue = uc.cmToFt(inputNumber)
print(f'{inputNumber}cm : {returnValue}ft')
# 모듈 이름 단축
import calculatr as cal
# 모듈의 특정 기능만 사용 가능
from calculator import add
관련 있는 모듈을 그룹으로 관리할 수 있음
site-packages에 있는 모듈은 어디서나 사용 가능
# site-packages
import sys
for path in sys.path :
print(path)