반응형
'if name == "main"'은 파이썬에서 특별한 상황을 처리하기 위해 사용하는 특수한 구문입니다. 이 코드의 의미는 현재 스크립트가 인터프리터에 의해 직접 실행될 때만, 'if' 문 아래의 코드를 실행하라는 것입니다.
파이썬 스크립트는 두 가지 방법으로 실행될 수 있습니다.
1. 스크립트를 직접 실행합니다.
2. 다른 스크립트에서 해당 스크립트를 import하여 사용합니다.
스크립트가 메인 프로그램에서 실행될 때, 'name' 변수는 'main'으로 설정됩니다. 이를 통해 메인 프로그램에서만 동작하도록 하려는 코드를 작성할 수 있습니다. 예를 들어, 테스트 코드 등을 작성할 수 있습니다.
다시 말해, 다른 모듈에서 import될 경우, 해당 모듈의 이름이 'name'이 됩니다. 따라서 'if name == "main":' 아래의 코드는 실행되지 않습니다.
인터프리터에서 직접 실행하는 경우
python max.py
위와 같이 인터프리터에서 직접 실행할 경우 'if name == "main":' 아래의 코드가 전부 출력됩니다.
최댓값을 구하는 함수
def max_of():
maximun = a[0]
for i in range(1, len(a)):
if a[i] > maximun:
maximun = a[i]
return maximun
if __name__ == '__main__':
print("배열의 최댓값을 구합니다")
num = int(input('원소 수를 입력하세요 : '))
x = [None] * num
for i in range(num):
x[i] = int(input(f'x[{i}]값을 입력하세요.: '))
print(f'최댓값은 {max_of(x)}입니다')
=> 실행 결과
배열의 최댓값을 구합니다.
원소 수를 입력하세요 : 5
x[0]를 입력하세요.: 172
x[1]를 입력하세요.: 153
x[2]를 입력하세요.: 192
x[3]를 입력하세요.: 140
x[4]를 입력하세요.: 165
최댓값은 192입니다.
- 다른 파일에서 import하여 모듈로 사용하는 경우
from max import max_of
t = (4, 7, 5.6, 2, 3.14, 1)
s = 'string'
a = ['DTS', 'AAC', 'FLAC']
print(f'{t}의 최댓값은 {max_of(t)}입니다.')
print(f'{s}의 최댓값은 {max_of(s)}입니다.')
print(f'{a}의 최댓값은 {max_of(a)}입니다.')
=> 실행 결과
(4, 7, 5.6, 2, 3.14, 1)의 최댓값은 7입니다.
string의 최댓값은 t입니다.
['DTS', 'AAC', 'FLAC']의 최댓값은 FLAC입니다.
'if name == "main":' 아래의 코드는 실행되지 않습니다.
반응형
'Python' 카테고리의 다른 글
Python 함수 정리(계속 업데이트 예정) (0) | 2023.03.22 |
---|---|
python - combinations 함수 (0) | 2023.03.13 |