파이썬뿐만 아니라 여러 언어(C / C++, Java...)에서는, assertion이란 개념을 차용하고 있다. 그리고 이러한 assertion 개념은 사용자의 코드를 시험하거나, 디버깅할 때 매우 유용하게 사용할 수 있는 테크닉 중 하나이다. 이번 포스팅에서는 파이썬에서의 assert문에 관하여 알아보자. 1. assert문이란? assert문 혹은 assertion은 코드 개발 간에 하나의 '검토'를 담당한다. assert문은 일정 조건이 사용자의 의도에 부합하는지 검사하는 역할을 하는 구문이라 생각하면 된다. 예를 들어, int형이 매개변수인 함수에 인자로 str형이 들어오는지 검사할 수 있다. 혹은 return 값이 원하는 형태인지 검사할 수 있다. 따라서, 사용자가 의도한 형태인지 손쉽게 검사할..
파이썬을 다루는 사람이라면, 다음과 같은 문구를 매우 매우 많이 보았을 것이다. Traceback (most recent call last): File "error.py", line 1, in print(4/0) ZeroDivisionError: division by zero 근데, 이 문구를 자세히 들여다보면 첫 번째 줄에 Traceback부터 시작한다. 이 친구는 무엇을 하는 친구일까? 함께 알아보도록 하자. 1. Traceback이란? Traceback은 파이썬에서 특정 지점에서 함수 호출에 관한 정보를 담고있다고 생각하면 된다. 다른 언어에서는 stack trace, backtrace 등등 여러 용어가 사용되지만, 파이썬에서는 traceback을 사용한다. 만약, 파이썬에서 오류가 발생한다면, t..
[※ 주의 ※] 아래를 이해하지 않고 이 글을 볼 경우, 이해가 되지 않는 부분이 있을 수 있습니다. 1. [Python] 출력 함수 print()에 관한 모든 것 1 프로그래밍 언어마다 출력의 방식은 다르지만, 대부분 가독성이 좋게 출력된다. 직접 사용자가 줄 및 공백을 조절하여 출력할 수 있고, 혹은 다른 특별한 함수를 사용할 수 있다. 그러나, 출력에 한하여 파이썬과 다른 언어와의 가장 큰 차이점은, 다른 언어는 정렬을 대부분 문자열 포맷팅 혹은 줄바꿈, 공백으로 한다. 파이썬은 이를 자동으로 해주는 모듈이 있으니, pprint 모듈 되시겠다. 먼저, pprint는 pretty-print의 약자로, 말 그래도 "예쁘게 출력하기", 즉 가독성이 좋게 출력할 수 있게 해주는 모듈이다. 1. pprint..
[※ 주의 ※] 아래를 이해하지 않고 이 글을 볼 경우, 이해가 되지 않는 부분이 있을 수 있습니다. 1. [Python] 출력 함수 print()에 관한 모든 것 1 지난 글에는 print 함수의 간략한 개요 및 매개변수들에 관하여 알아보았다. 이번 포스팅은 print의 함수적인 측면을 조금 더 보려고 한다. 1. print의 변화 파이썬 2.7에서 파이썬 3으로의 업그레이드에서, print의 사용 방식에 변화가 생겼다. 파이썬 2.7.x 버전까지는 print는 하나의 구문으로 사용되었다. HTML 삽입 미리보기할 수 없는 소스 파이썬 3부터는 print는 하나의 함수처럼 다루어졌으며, 우리가 알고 있는 방식으로 print문은 변화하였다. 이러한 함수로의 변화의 이유는 크게 두 가지를 꼽을 수 있다. ..
Python 초보자들이 먼저 배우고, 정말 많은 곳에서 사용되는 내장 함수를 꼽으라 하면 print를 꼽을 수 있다. print문은 화면에의 출력 그 이상의 기능을 할 수 있는 함수 중 하나이다. 단순 출력밖에 모른다면, 아직 print문의 잠재력을 십분 활용하지 못한다고 할 수 있다. 이번 포스팅에서는 print에 대하여 자세하게 알아보자. 이번 글을 파이썬 3을 기준으로 다룰 예정이니 파이썬 2에서의 print 구문은 다루지 않을 예정이다. 1. print() print() 함수는 파이썬 내장함수 중 하나로 특별히 다른 모듈을 활용하지 않아도 사용할 수 있는 함수이다. 실제로 함수 자체를 호출하면 다음과 같은 결과를 얻을 수 있다. HTML 삽입 미리보기할 수 없는 소스 출력으로 을 얻을 수 있고 즉..
[※ 주의 ※] 아래를 이해하지 않고 이 글을 볼 경우, 이해가 되지 않는 부분이 있을 수 있습니다. 1. [Python] for문의 친구 range에 관한 모든 것 다음 코드를 살펴보자. 과연 이 코드를 실행하는데 얼마나 시간이 걸릴까? (앞의 숫자는 $10^{16}$, 뒤의 숫자는 $10^{16}+1$)이다. HTML 삽입 미리보기할 수 없는 소스 range에 대하여 알고있다면, 이 값을 출력하면 True가 나온다는 것은 자명하다. 근데, 실제로 실행하면 얼마나 걸릴까? range문은 0부터 시작하는거니까 $10^{16}$ 까지면 정말 오래 걸릴거라 생각하기 쉽다. 헐! 직접 실행하여보면, 0.1초도 안되는 시간 안에 실행되는 것을 확인할 수 있다. 생각해보자. 애초에 실행이 되기 전에 메모리가 부족..
- Total
- Today
- Yesterday
- 제어문
- docker
- C++
- 수학
- JS
- C
- bomblab
- 헤더
- 백준
- 함수
- for
- effective async
- 구현
- CSAPP
- 프로그래밍
- GDSC
- 알고리즘
- 사칙연산
- BRONZE
- equal
- 문자열
- react
- Python
- BOJ
- Proactor
- Network
- MIN
- 시간복잡도
- Max
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |