반응형
스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차
2022.09.05. 6일차 - TIL
1. 파이썬 특강
- 파이썬은 인터프리터 언어 -> 실행파일을 명시적으로 생성하지 않고 소스파일 직접 실행 가능
- 파이썬 프로그램이 개발/디버그 주기가 더 짧지만, 다른 프로그램보다 더 느리게 실행
- import하는 모듈의 속도 향상을 위해 *.pvc 확장자로 컴파일 -> 가상환경인 PVM에서 동작
- 동적 타입 언어로 변수 할당 시 자료형 지정 불필요
- 문법이 쉽고 간결, 가독성 좋음
- 코드 컨벤션 : 협업을 위해 코드 스타일을 통일하자는 "약속" -> 언어에 따라 다름
- 파이썬의 코드 컨벤션(변수/함수 네이밍 방법)
- Pascal : 각 단어를 대문자로 구별
- Camel : Pascal과 동일하지만 첫 문자는 소문자로 시작
- Snake : 각 단어를 언더바로 구분 - 변수 선언 시 두 개 이상의 변수를 한번에 선언 가능 ex) a, b = [2, 3] -> 각 요소 2와 3
- 변수 유효 범위(variable scope)
- 지역 변수(local variable) : 함수 내부에서 선언, 다른 함수에 영향을 끼치지 않음
- 전역 변수(global variable) : 함수 밖에서 선언, 어디서든 접근 가능 - 함수 내부에서 전역 변수와 동일한 이름으로 지역 변수 할당 시 함수에서는 해당 변수를 지역 변수로 간주
- 따라서 함수 내에서 전역 변수의 값을 바꾸고 싶다면 global 키워드를 사용해 전역 변수 값을 다시 할당
number = 10
def func():
# 전역 변수의 값이 바뀌는 것이 아닌, 지역 변수로 다시 선언
number = 5
print(number)
func() # 5출력
# 함수 내에서 재할당 된 지역 변수는 전역 변수에 영향을 끼치지 않습니다.
print(number) # 10출력
############################################################################
number = 10
def func():
global number # 함수에서 number 변수를 다시 할당할 수 있도록 해줍니다.
number = 5 # global 키워드를 사용했기 때문에 전역 변수의 값이 변경됩니다.
func()
print(number) # 5
- 코드가 길어질수록 전역 변수로 선언된 값은 어디서 값이 변했는지 추적하기 어렵고, 문제가 생겼을 때 디버깅을 하기 어려워 지기 때문에 전역 변수를 남용하는 것은 권장하지 않음
2. 백준 알고리즘
다른 문제보다 시간이 다소 걸린 문제는 다음과 같다.
import sys
n = int(input())
if n < 1 or n > 1000:
print("입력값 오류")
sys.exit(0)
for i in range(n):
print(" "*(n-i-1), end="")
for j in range(i+1):
print('*', end='')
print()
import sys
arr = []
while True:
try:
test = list(map(int, input().split()))
if test[0] <= 0 or test[0] >= 10 or test[1] <= 0 or test[1] >= 10:
print("입력 오류")
sys.exit(0)
arr.append(test)
except:
break
for num in arr:
print(num[0]+num[1])
* 파이썬에서 EOF는 어떻게 처리하나? => try-except 문으로 처리
반응형
'개발일지 > AI 캠프' 카테고리의 다른 글
내일배움캠프 AI - 8일차 TIL, 2022.09.07 (0) | 2022.09.08 |
---|---|
내일배움캠프 AI - 7일차 TIL, 2022.09.06 (0) | 2022.09.06 |
내일배움캠프 AI - 1주차 WIL (1) | 2022.09.04 |
내일배움캠프 AI - 5일차 TIL, 2022.09.02 (0) | 2022.09.02 |
내일배움캠프 AI - 4일차 TIL, 2022.09.01 (0) | 2022.09.02 |