![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/brTPfo/btrBYwg6qrR/a3IhS94gI9SLsJkh7BdTH1/img.png)
파이썬에는 다른 언어에서는 찾아볼 수 없는 특징들이 몇 가지 있는데, 대표적으로 파이썬은 모든 객체를 가변 객체(mutable object), 불변 객체(immutable object) 두 종류의 객체로 구분하고 있다. 어렵지 않은 개념이지만, 중요한 개념이므로 이번 포스팅에서 간략하게 정리하고 간다. 1. 가변(mutable) vs 불변(immutable) 먼저, 가변 객체와 불변 객체에 대한 이해를 하여보자. 불변적 객체(immutable)란, 메모리 안에 담겨 있는 값이 언제나 변하지 않는 객체를 의미한다. 예를 들면, 다음과 같은 종류들은 불변 객체이다. 정수형(int) & 불리언형(boolean) 실수형(float) 복소수형(complex) 문자열형(string) 튜플형(tuple) 바이트형(b..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/btBu7M/btrBUTwo8su/uJKKocxS4BPrcCBVKP9Kv1/img.png)
파이썬을 공부하다 보면 C / C++ 언어와 다르게 포인터라는 개념을 전혀 마주친 경험이 없을 것이다. 정상이다. 파이썬은 포인터라는 개념을 직접 활용하지 않는다. 물론, 파이썬에도 포인터에서 파생된 개념(예를 들어, call by value, call by reference...) 활용하긴 하지만, 직접 사용자가 쉽게 메모리에 접근할 수 있는 방법은 따로 없다. 그럼, 파이썬은 어떻게 변수에 데이터를 저장하는가? '='의 역할은 무엇인가? 또한, 이때 내부적으로 파이썬은 포인터를 활용할까? 이번 포스팅에서는 이에 대한 답을 알아보자. 1. id 함수란? 파이썬의 내장 함수 중에는 id라는 함수가 존재한다. 이 함수의 역할을 매우 간단하다. 객체의 고윳값(identity)을 반환한다. 파이썬에서는 각 객..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cAUpfj/btrBQDm2FcN/0tXDIyt6cw2ysrXQmmJs40/img.png)
컴퓨터과학에서 함수와 관련된 부분을 보면 call by value(값에 의한 호출), call by reference(참조에 의한 호출)이라는 개념을 마주칠 때 있다. C / C++ 언어 계열은 포인터라는 엄청난 기능 덕분에 직접 메모리에 접근할 수 있기에 두 가지 방법 모두 사용이 가능하고, 다른 특징을 가진다. C++에서 사용되는 두 가지 방법을 간략하게 알아보도록 하자. 1. Call by Value : 값에 의한 호출 Call by value는 함수 호출 스택에서 매개변수를 저장하는 공간에 인자를 저장하는 방법으로 인자가 함수에게 전달되는 방식이다. 다른 말로, 인자로 넘겨진 값이 변경되어도 그 함수에서만 변경된다는 의미이다. 예제를 살펴보도록 하자. HTML 삽입 미리보기할 수 없는 소스 voi..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lpTH0/btrBNltrx2s/VkL1HhAxXBhYp3n6nIdxn0/img.png)
파이썬에서 동일한 것을 비교하는 구문은 두 가지가 있다. 등호가 두 개 붙어있는 연산자 '=='와 파이썬 만의 고유 문법인 'is'가 존재한다. 보통 둘은 구분을 하지 않고 사용한다. 그럼, 이 두 연산자는 아무런 차이가 없을까? 다음 코드를 보자. HTML 삽입 미리보기할 수 없는 소스 위의 '=='의 경우 참이 나왔지만, 'is'의 경우 거짓이 나온 것을 확인할 수 있다. 두 연산자에 어떤 차이가 있길래 이런 결과가 나오는 것일까? 이번 포스팅에서 알아보도록 하자. 1. == 과 'is' 먼저, 다른 언어에서도 사용되는 비교 연산자 '=='부터 알아보자. '=='는 값(value)이 동일한지 확인하는 연산자이다. 다른 말로, 만약 동일한 주소값이 아니더라도, 같은 값을 지니고 있다면 True를 반환하..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/n2yNx/btrBKqveRAm/uK1yC9kJpBCDKmDlJSd2qk/img.png)
파이썬뿐만 아니라 여러 언어(C / C++, Java...)에서는, assertion이란 개념을 차용하고 있다. 그리고 이러한 assertion 개념은 사용자의 코드를 시험하거나, 디버깅할 때 매우 유용하게 사용할 수 있는 테크닉 중 하나이다. 이번 포스팅에서는 파이썬에서의 assert문에 관하여 알아보자. 1. assert문이란? assert문 혹은 assertion은 코드 개발 간에 하나의 '검토'를 담당한다. assert문은 일정 조건이 사용자의 의도에 부합하는지 검사하는 역할을 하는 구문이라 생각하면 된다. 예를 들어, int형이 매개변수인 함수에 인자로 str형이 들어오는지 검사할 수 있다. 혹은 return 값이 원하는 형태인지 검사할 수 있다. 따라서, 사용자가 의도한 형태인지 손쉽게 검사할..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Pi2hl/btrBFX05YDy/7shf2lgKNyzlQvRmifhC8k/img.png)
파이썬을 다루는 사람이라면, 다음과 같은 문구를 매우 매우 많이 보았을 것이다. 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..
- Total
- Today
- Yesterday
- Python
- 함수
- BRONZE
- Max
- bomblab
- Proactor
- C++
- C
- 제어문
- 백준
- 알고리즘
- effective async
- 문자열
- Network
- 시간복잡도
- 수학
- JS
- for
- 구현
- 사칙연산
- docker
- CSAPP
- 프로그래밍
- GDSC
- MIN
- react
- 헤더
- equal
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |