반응형
프로그래밍 언어는 C / C++ / Python / Ruby / Go 등 다양한 언어가 존재하며,
웹 / 앱 / 펌웨어 / AI 등 여러분야에서 많이 사용되는 언어가 있습니다.
해당 게시글은 여러 언어들이 가지고 있는 공통적인 특징일 수도 있고,
Python만의 비교적(?) 좋은 특징에 대해 작성한 글입니다.
웹 / 앱 / 펌웨어 / AI 등 여러분야에서 많이 사용되는 언어가 있습니다.
해당 게시글은 여러 언어들이 가지고 있는 공통적인 특징일 수도 있고,
Python만의 비교적(?) 좋은 특징에 대해 작성한 글입니다.
- Runtime에서 타입 확인을 하고 자동 메모리 관리 (동적 타이핑)
- 메모리가 허용되는 범위에서 커다란 정수를 무한 사용 가능
- 파이썬은 들여쓰기 규정이 엄격하다. (TAB 보다는 공백 4개를 추천함)
그렇다고 아무데서나 함부로 들여쓰기 하면 안됩니다.
선택한 블록 들여쓰기 → CTRL + ]
선택한 블록 들여 내기 → CTRL + [
선택한 블록 들여 내기 → CTRL + [
- 인터프리터 언어로 매번 명령 줄을 해석하고 실행
최적화하기 어려울 수 있다.
컴파일러 언어 : 코드를 모두 모아놓고 컴파일러를 통해 한꺼번에 실행
인터프리터 언어 : 한줄마다 인터프리터를 통해 명령 처리
인터프리터 언어 : 한줄마다 인터프리터를 통해 명령 처리
- 기본적으로 Built-in 함수를 사용하는 것이 빠르다.
즉, 직접 동작을 구현하기 보다 이미 만들어진 함수, 모듈 등을 잘 활용하는 것이 중요
▶ for 문을 이용한 천만(107) 까지 합 구하기
import datetime
total = 0
start = datetime.datetime.now()
for i in range(10000000):
total += i
end = datetime.datetime.now()
print("time =", (end - start), total)
▶ Built-in 함수 활용
import datetime
start = datetime.datetime.now()
total = sum(range(10000000))
end = datetime.datetime.now()
print("time =", (end - start), total)
성능 vs 가독성
특정 기능 구현에 있어서, 가독성을 선택해야할까? 아니면 성능을 선택해야할까?
주어진 환경에 따라 선택은 다를 수 있지만 아래와 같이 성능 차이가 발생함을 알고 있어야 한다.
▶ for 문을 이용한 반복문 구현
import datetime
start = datetime.datetime.now()
for i in range(1000):
print(i, end=' ')
end = datetime.datetime.now()
print()
print("time =", (end - start)) # 0.112
▶ Built 함수를 활용한 처리
import datetime
start = datetime.datetime.now()
print(' '.join(str(i) for i in range(1000)))
end = datetime.datetime.now()
print("time =", (end - start)) # 0.003
어느정도 가독성이 떨어져도 반복보다는 한번에 호출하는 것이 좋다.
ex) print 여러번 호출하는 것보다 print를 한번 호출하는 것이 좋다.
※ python에서 아래와 같이 입력하면 파이썬 철학을 엿볼 수 있다.
import this
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[python] join 함수로 문자열 합치기(이어붙이기) (0) | 2021.08.15 |
---|---|
[python] 파이썬 함수 활용해보기 (1) | 2021.08.15 |
[python] 파이썬 변수 타입(Type) 종류 (0) | 2021.08.15 |
[Python] 세미콜론(;)을 언제 사용할까? (0) | 2021.03.22 |
BeautifulSoup 사용해보기 (0) | 2021.02.28 |
댓글